我的意思是,一个类有很多方法,比如:class A{
public function methodA(){
throw new Exception('我抛出一个错误!');
} public function methodB(){
throw new Exception('我抛出另一个错误!');
} public function __err($msg){
echo '发生错误:'.$msg;
}
}
这个__err()方法权当是魔术方法吧,它监督、接收所有抛出的异常!因此也不必每个方法里面单独处理抛出的异常。
smarty好像是先设定一个继承Exception类的自定义异常类,然后所有功能类继承自定义异常类,但我没有仔细观察是如何实现的。
如果不是在类中当然可以通过set_exception_handler捕获所有没有经过try/catch的throw,但在类中呢?!
public function methodA(){
throw new Exception('我抛出一个错误!');
} public function methodB(){
throw new Exception('我抛出另一个错误!');
} public function __err($msg){
echo '发生错误:'.$msg;
}
}
这个__err()方法权当是魔术方法吧,它监督、接收所有抛出的异常!因此也不必每个方法里面单独处理抛出的异常。
smarty好像是先设定一个继承Exception类的自定义异常类,然后所有功能类继承自定义异常类,但我没有仔细观察是如何实现的。
如果不是在类中当然可以通过set_exception_handler捕获所有没有经过try/catch的throw,但在类中呢?!
php并没有自动抛出异常的机制,而是用错误处理