Sta*_*ann 6 php exception-handling exception
好.非常完全没有问题,但我真的没有线索,也找不到明确的答案:
为什么有不同的异常类?例如:PDOException vs Exception?它通过我的大脑的方式:如果代码中发生了错误 - 将抛出异常 - 对吧?为什么什么类型的例外很重要?
例:
try {
some code
}
catch(PDOException $e)
{
echo $e->getMessage();
}
Run Code Online (Sandbox Code Playgroud)
vs Exception类:
try {
some code
}
catch(Exception $e)
{
echo $e->getMessage();
}
Run Code Online (Sandbox Code Playgroud)
谢谢:)
因为您不应该以相同的方式处理所有异常.
如果捕获异常,则可能/应显示错误消息.但你可以/应该做一些其他事情.它取决于您收到的异常类型.
如果没有数据库连接 - >显示消息
如果查询失败 - >显示消息并可能执行回滚
...
最后,你应该捕获所有类型的异常,最后一个应该是 Exception
try {
some code
}
catch(PDOException $e)
{
echo $e->getMessage();
// Do something
}
catch(XYZException $e)
{
echo $e->getMessage();
// Do something different
}
catch(Exception $e)
{
echo $e->getMessage();
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2021 次 |
最近记录: |