Saturday, January 26, 2019

exception - PHP try-catch not working

Answer


Answer




try     
{
$matrix = Query::take("SELECT moo"); //this makes 0 sense

while($row = mysqli_fetch_array($matrix, MYSQL_BOTH)) //and thus this line should be an error

{

}

return 'something';
}
catch(Exception $e)
{
return 'nothing';
}



However instead of just going to catch part and returning nothing it shows a warning Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in the line starting with while. I have never came up to using exceptions in php, but used them a lot in C# and it seems in PHP they are working differently or, as always, I am missing something obvious.


Answer



You can't handle Warnings/Errors with try-catch blocks, because they aren't exceptions. If you want to handle warnings/errors, you have to register your own error handler with set_error_handler.



But it's better to fix this issue, because you could prevent it.


No comments:

Post a Comment

plot explanation - Why did Peaches' mom hang on the tree? - Movies & TV

In the middle of the movie Ice Age: Continental Drift Peaches' mom asked Peaches to go to sleep. Then, she hung on the tree. This parti...