我找到了这个问题:
What is the advantage of using try {} catch {} versus if {} else {}
如果你可以添加任何东西,那么请像我刚接触PDO一样,这也意味着什么;
$dbc->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
在MysqL网站上它说“确保创建例外而不是错误”,但我不明白这一点,任何人都可以请详细说明.
解决方法:
可以通过try / catch捕获异常,并且是具有属性的类,而不是也可能不是.而程序错误则由PHP的本机错误处理来处理.
您可以通过手动触发它们来观察行为差异.
抛出异常:
throw new Exception();
触发意外错误:
trigger_error($message, U_USER_ERROR);
例外是OO错误处理方式.有关例外的更多信息,请访问:http://php.net/manual/en/language.exceptions.php