Каким способом можно отловить исключение при ошибке выкачки файла?
Дело не в языке, который вы используете, а скорее в понимании протоколов.
Когда вы делаете запрос используя протокол http у вас есть определённые ограничения.

Одно из ограничений это timeout, время ожидания, отведенное на ответ удалённого сервера.
Если скрипт вы запускаете через браузер, то есть так же ограничение, которое накладывает веб-браузер на ответ от php интерпретатора.

В любом случаи попробуйте вот такой код запустить через командную строку:

<?php
$context = stream_context_create(array(
	'http' => array(
		'timeout' => 60, // Время ожидания ответа от сервера
	)
));

$url = 'https://kristallnails.ru/integration?int=ym&name=businesshunter';
try {
    $priceFile = file_get_contents( html_entity_decode($url), false, $context );
} catch (Exception $e) {
    info($e->getMessage());
}

print_r($priceFile);
Как всегда на тостере - клиент забыл палку к имени класса приставить, а набежали иксперты с советами про что угодно, только не про сам вопрос, который был задан.

Но вообще переходи на джаву конечно. Там это более продумано