try{
echo 'try <br/>';
$mysql = new mysqli('localhost', 'root', '111', 'test');
} catch (Exception $e){
echo 'catch <br/>';
echo $e->getMessage();
}
代码如上, 出现了异常
输出结果:
try
Warning: mysqli::mysqli(): (28000/1045): Access denied for user 'root'@'localhost' (using password: YES) in /home/test/its2/webroot/public/unserialize.php on line 31
为什么没有执行输出catch?
mysqli に警告ではなく例外としてスローするように指示する必要があります。
リーリーもう一度アクセスすると、結果は次のようになります:
try
catch
ユーザー「root」@「localhost」のアクセスが拒否されました (パスワードを使用: YES)
警告と例外の違いを明確に区別してください。
PHP の警告とエラーは、PHP がプログラム内で開発者に通知する問題です。
に対応する例外。例外は、原則として、アプリケーション内で処理する必要がある問題です。処理された例外
これを見てください http://www.cnblogs.com/water0...