关于php的try catch 使用的疑惑

之前一直以为 try catch 可以直接捕获php的错误和异常
自从用原生php撸代码之后发现 并不是那么回事。求大佬指点,try catch 的正确用法,框架又是如何用try catch 捕获各种错误和异常的。

找到原因所在了

在php中 错误与异常是两个概念

Error 类并非继承自 Exception 类,所以不能用 catch (Exception $e) { … } 来捕获 Error

当 PHP 抛出一个异常时,将不会执行后续的代码语句,并会尝试查找首个匹配的 catch 代码块。如果没有用 set_exception_handler() 设置异常处理函数, PHP 会在异常未被捕获时产生 Fatal 级错误,提示 “Uncaught Exception …” 消息。

找到了个相关阅读
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 4
try {
    dd();
} catch (\Throwable $e) {
    echo $e->getMessage();
}
3年前 评论
木大大 (楼主) 3年前

php7,请使用 Throwable

3年前 评论
木大大 (楼主) 3年前
chowjiawei
try {
    业务逻辑执行 如数据的值改变
} catch (预测到会发生的错误类型 $e) {
    不抛出异常,执行其他逻辑,如回滚数据库操作
}
3年前 评论
chowjiawei (作者) 3年前

撸原生php爽不爽

3年前 评论
木大大 (楼主) 3年前
huangxu (作者) 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!