我已阅读文章,试图了解在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语句.
但这些只是我的十美分.