微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 理解异常

我已阅读文章,试图了解在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语句.

但这些只是我的十美分.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐