关于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();
}
4年前 评论
木大大 (楼主) 4年前

php7, 请使用 Throwable

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

撸原生 php 爽不爽

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