好的。非常完全菜鸟的问题,但我真的没有线索,也找不到明确的答案:
为什么会有不同的异常类?例如:PDOException 与异常? 它通过我的大脑的方式:如果代码中发生错误 - 将抛出异常 - 对吗?为什么什么类型的异常很重要?
示例:
try {
some code
}
catch(PDOException $e)
{
echo $e->getMessage();
}
与异常类:
try {
some code
}
catch(Exception $e)
{
echo $e->getMessage();
}
谢谢:)
最佳答案
因为你不应该以同样的方式对待所有异常。
如果您捕获到异常,您可以/应该显示一条错误消息。但是你可以/应该做一些其他的事情。这将取决于您收到的异常类型。
如果没有数据库连接->显示消息
如果查询失败 -> 显示一条消息并可能进行回滚
...
最后,你应该捕获所有类型的异常,最后一个应该是 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();
}
关于PHP。为什么会有不同类别的异常(exception)情况?例如 : PDOException vs Exception?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5152147/