Как справиться с ошибкой функции PHP? - PullRequest
0 голосов
/ 07 августа 2009

Как мне сформировать оператор if/else для сбоя функции PHP? Я хочу, чтобы он определил $results в одну сторону, если он работает, и другой, если это не так. Я не хочу просто показывать ошибку или уничтожать сообщение об ошибке в случае сбоя.

В настоящее время у меня есть:

if(file_get_contents("http://www.address.com")){
    $results = "it worked";}
else {
    $results = "it didnt";}
return $results

Ответы [ 3 ]

2 голосов
/ 07 августа 2009

вы хотите PHP функции try / catch .

это выглядит примерно так:

try {
    // your functions
}
catch (Exception e){
    //fail gracefully
}
1 голос
/ 07 августа 2009
if(@file_get_contents("http://www.address.com");){
    $results = "it worked";}
else {
    $results = "it didnt";}
return $results

Добавляя @ к функции, вы можете исключить сообщение об ошибке.

0 голосов
/ 07 августа 2009

Как говорится, функция 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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...