模型類拋出異常后無法被捕獲?
<?php namespace?core\lib; class?model?extends?\PDO{ ????public?function?__construct(){ ????????$dsn?=?"mysql:host=localhost;dbname=test"; ????????$username?=?"root"; ????????$password?=?"wrongpw"; ????????try{ ????????????parent::__construct($dsn,$username,$password); ????????}catch(\PDOExpcetion?$e){ ????????????echo?$e->getMessage(); ????} ????} }
按照老師的代碼,故意將數(shù)據(jù)庫密碼寫錯,執(zhí)行時拋出的異常不能被捕獲而報錯,這是為什么呢?PS:密碼不寫錯,則程序運行正常,model類可以正常執(zhí)行CURD語句。
報錯信息如下:
查資料看著是拋出的pdoexception對象未被捕獲才會這樣報錯。
Fatal?error:?Uncaught?exception?'PDOException'?with?message?'SQLSTATE[HY000]?[1045]?Access?denied?for?user?'root'@'localhost'?(using?password:?YES)'?in?D:\xampp\htdocs\MoocFramework\FW\core\lib\model.php:13?Stack?trace:?#0?D:\xampp\htdocs\MoocFramework\FW\core\lib\model.php(13):?PDO->__construct('mysql:host=loca...',?'root',?'1234561')?#1?D:\xampp\htdocs\MoocFramework\FW\app\ctrl\indexCtrl.php(11):?core\lib\model->__construct()?#2?D:\xampp\htdocs\MoocFramework\FW\core\imooc.php(37):?app\ctrl\indexCtrl->index()?#3?D:\xampp\htdocs\MoocFramework\FW\index.php(30):?core\imooc::run()?#4?{main}?thrown?in?D:\xampp\htdocs\MoocFramework\FW\core\lib\model.php?on?line?13
2016-10-18
太粗心了,仔細(xì)看你的代碼,
catch(\PDOExpcetion?$e){
????????????echo?$e->getMessage();
????????}
PDOExpcetion 這個單詞寫錯了,應(yīng)該是PDOException,咋會犯這種低級錯誤。。 IDE不會提示嗎