我已阅读文章,试图了解在PHP中使用的异常,我已经完成了论坛中已经给出的答案.对我来说至少有一点意义的答案之一是这一个:
Are exceptions in php really that useful?
这是一个简单的函数,用于在使用和不使用异常的情况下查找整数的倒数(source):
除外:
function inverse($x) { if ($x==0) { throw new Exception('Division by zero.'); } else { return 1/$x; } } try { inverse(); } catch (Exception $e) { echo $e->getMessage(); }
没有例外:
function inverse($x) { if ($x==0) { echo "I'm zero. Don't let me be the denominator."; } else { return 1/$x; } }
解决方法
关于“何时使用例外”有各种各样的意见.我的个人意见是:
>如果您正在使用自己的代码,那么基本上不需要抛出异常,因为您需要为它编写自己的处理程序 – 这也可以在不抛出异常的情况下完成.
>如果您正在开发其他程序员正在使用的API,那么抛出异常会很有用,因此使用您的代码的开发人员知道,他必须处理错误,并了解错误原因是什么. (而不是只是获取null他可能会捕获NumberToSmallException,NotANumberException,….)
换句话说:当你已经知道如何处理异常时 – 不要抛出异常.如果处理应由另一位开发人员负责,请使用您的代码 – 抛出它.
不应使用异常来控制应用程序逻辑的流程.因此使用if / else语句.
但这些只是我的十美分.