@cyberche

Как избавиться от notice Unhandled Exception?

echo "<pre/>";
error_reporting(E_ALL);
function dataFromFile($h){
    if (!file_exists($h)){
        throw new Exception('Файл '.$h.' не найден');
    }try{
     return file($h);
    }catch(Exception $e){
        $e->getMessage();
    }
    return true;
}
function arrayExplode(array $array):array{
    return array_map(function($explode){return explode(':',$explode);},$array);
}
function arrayConstructor(array $array):array{
    return array_map(function($construct){return $res =['wall'=>$construct[0],'token'=>$construct[1]];},$array);
}
/////////////////////////////
$data = arrayConstructor(arrayExplode(dataFromFile('data.array')));


Unhandled Exception:6
Unhandled \Exception:21
Unused element: 'arrayExplode' - обязательно ли мне результаты выполнения функции возвращать в переменную? И на сколько критично этого не делать?
  • Вопрос задан
  • 388 просмотров
Решения вопроса 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
Эээ. Я кажется понял этот вопрос.
Тебе твой код сообщает, что 'Файл '.$h.' не найден'.
То есть надо проверить, есть ли файл для обработки, и если есть, то указывать к нему правильный путь.
Для этого надо выкинуть кустарную проверку на ошибки, и получить нормальную ошибку РНР. В ней будет будет подробно написано, что тебе делать

Для этого выкинуть функцию getDataFromFile и испльзовать file() напрямую

функциональщину я бы тоже выкинул, она тебя только запутывает

$data = file('data.array', 6);
foreach($data as $i => $row) {
    $array = explode(':', $row);
    $data[$i] = ['wall'=>$array[0],'token'=>$array[1]];
}
Ответ написан
Enguipro
@Enguipro
PHP developer
Не обязательно. Вы можете отключить нотисы так:
error_reporting(E_ALL & ~E_NOTICE);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы