gpt4 book ai didi

php - 对每个应用程序错误抛出异常

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:00:01 26 4
gpt4 key购买 nike

我有一个基于 Zend Framwork 的应用程序。在一个模型中,我正在调用另一个模型的方法。当我调用此方法时,我使用 try-cath block 来处理奇怪的情况。模型1。

try {
$result = Module_Model2_Name->method();
} catch (Exception $e) {
// Do Something
}

如果我们在 try block 中发现一个 throw,Catch 应该可以工作。但我不知道我的应用程序的行为。如果它是 Model2 方法中的某个应用程序错误,则应该抛出异常。在 Model2 的方法中,我做了接下来的事情,但它不起作用:

set_error_handler(create_function('$m = "Error"','throw new Exception($m);'), E_ALL);

如何在每个 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);
}
?>

请注意:

The following error types cannot be handled with a user defined function: E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING, and most of E_STRICT raised in the file where set_error_handler() is called.

摘自 PHP 手册。

关于php - 对每个应用程序错误抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3932999/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com