php - 为什么在php中报告异常时使用new

标签 php exception error-handling

在php中,为什么在报告异常时将其"new"使用,因为我们不需要可变原因,因此操作已经结束。这是我在学习异常处理时发现的代码。我很难理解这一点。

<?php
function inverse($x) {
    if (!$x) {
        throw new Exception('Division by zero.');
    }
    return 1/$x;
}

try {
    echo inverse(5) . "\n";
    echo inverse(0) . "\n";
} catch (Exception $e) {
    echo 'Caught exception: ',  $e->getMessage(), "\n";
}

// Continue execution
echo "Hello World\n";
?>

我们不能使用
throw Exception('Division by zero.');

最佳答案

Exception是Exception类的实例。如果尚未创建此类的实例,则必须创建它。由于错误是通过非静态类处理的,因此我们不能将其用作静态方法。

关于php - 为什么在php中报告异常时使用new,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43700720/

相关文章:

php - 加载哪个 PHP 模板取决于 javascript 支持

php - 如何取消设置 session 变量?

php - 有没有办法表明一个类具有为另一个类上的每个方法定义的魔术方法?

c# - 打印到基于非 xps 的打印机时 PrintQueue.AddJob 挂起

php - 从函数内部的API调用返回和错误处理

error-handling - 使用try catch(AGAIN)处理错误

php - 如何使用 php system() 函数正确运行 mysql 命令?

hibernate - Grails 和 hibernate session ,异常时保存到数据库

java - 如果在 EDT 线程之外调用 AWT 代码,如何引发异常?

javascript - 为什么多功能代码行不会产生错误而只是停止执行?