Как обработать ошибку функции PHP?
-
12-09-2019 - |
Вопрос
Как мне сформировать if/else
оператор для сбоя функции PHP?Я хочу, чтобы это определяло $results
в одном случае, если это сработает, и в другом, если нет.Я не хочу просто показывать ошибку или удалять сообщение об ошибке, если оно не работает.
В настоящее время у меня есть:
if(file_get_contents("http://www.address.com")){
$results = "it worked";}
else {
$results = "it didnt";}
return $results
Решение
if(@file_get_contents("http://www.address.com");){ $results = "it worked";} else { $results = "it didnt";} return $results
Добавляя символ @ к функции, вы можете дополнить его сообщением об ошибке.
Другие советы
вам нужны PHP-файлы функции try/catch.
это звучит примерно так:
try {
// your functions
}
catch (Exception e){
//fail gracefully
}
Как сказал contagious, функция try / catch работает хорошо, если функция выдает исключение.Но, я думаю, то, что вы ищете, - это хороший способ обработки результата, когда функция возвращает ваш ожидаемый результат, и не обязательно, если она выдает исключение.Я не думаю, что file_get_contents выдаст исключение, а скорее просто вернет false .
Ваш код работал бы нормально, но я заметил дополнительную ;в первой строке вашего оператора if.
if (file_get_contents("http://www.address.com")) {
$results = "it worked";
} else {
$results = "it didnt";
}
return $results;
Кроме того, вы можете сохранить результат вызова функции в переменной, чтобы использовать его позже.
$result = file_get_contents("http://www.address.com");
if ($result) {
// parse your results using $result
} else {
// the url content could not be fetched, fail gracefully
}