Ale*_*tau 4 php error-handling exception-handling exception
我有一个基于Zend Framwork的应用程序.在一个模型中,我从另一个模型中调用一个方法.当我调用这种方法时,我使用try-cath块来处理奇怪的情况.型号1.
try {
$result = Module_Model2_Name->method();
} catch (Exception $e) {
// Do Something
}
Run Code Online (Sandbox Code Playgroud)
如果我们在try块中找到一个throw,那么Catch应该可以工作.但我不知道我的申请的行为.如果它是Model2方法中的某个应用程序错误,则应抛出异常.在Model2的方法中我做下一件事,但它不起作用:
set_error_handler(create_function('$m = "Error"','throw new Exception($m);'), E_ALL);
Run Code Online (Sandbox Code Playgroud)
如何在每个PHP应用程序错误上抛出异常?非常感谢你.对不起我的英语不好.
它看起来不错(测试它).
<?php
set_error_handler(create_function('$nr, $msg = "Error"','throw new Exception($m);'), E_ALL);
try{
foreach($notHere as $var){}
}
catch(Exception $e){
var_dump($e);
}
?>
Run Code Online (Sandbox Code Playgroud)
请注意:
使用用户定义的函数无法处理以下错误类型:E_ERROR,E_PARSE,E_CORE_ERROR,E_CORE_WARNING,E_COMPILE_ERROR,E_COMPILE_WARNING,以及调用set_error_handler()的文件中引发的大部分E_STRICT.
摘自PHP手册.