加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 运行状态与异常

发布时间:2020-12-13 22:50:05 所属栏目:PHP教程 来源:网络整理
导读:我很好奇何时使用操作状态和异常时.假设我有一个类TextProcessor,其方法有getText(),processText()和sendText().所有这些方法都对类的私有数据执行操作.我需要确保所有操作顺利进行.我有两个选项 – 每个方法都可以返回操作状态(0 – 成功, 0错误代码)或在方
我很好奇何时使用操作状态和异常时.假设我有一个类TextProcessor,其方法有getText(),processText()和sendText().所有这些方法都对类的私有数据执行操作.我需要确保所有操作顺利进行.我有两个选项 – 每个方法都可以返回操作状态(0 – 成功,> 0错误代码)或在方法中抛出异常.似乎异常是控制方法执行的更方便的方法,因为在返回操作状态时我需要执行以下操作:

$result = textProcessor->getText();
if ( $result !== 0 ) {
    return $result;
}

$result = textProcessor->processText();
if ( $result !== 0 ) {
    return $result;
}

$result = textProcessor->sendText();
if ( $result !== 0 ) {
    return $result;
}

或者这样

if ( textProcessor->getText() !== 0 && textProcessor->processText() !== 0 && textProcessor->sendText() !== 0 ) {
    return processingErrors::textProcessorError;
}

除了例外情况,这一切似乎都更简单:

try {
    textProcessor->getText();
    textProcessor->processText();
    textProcessor->sendText();
} catch (textProcessorException $e) {
    return $e->getMessage();
}

1)那么在我的情况下哪个更好用 – 运行状态或例外?
2)一般情况下,何时使用操作状态(返回代码)和异常时?

解决方法

当意外缺少某些操作要求时,最好使用例外.例如,我希望能够连接到数据库.如果我不能,那么即使在降级状态下我也无法提供应用程序.我抛出一个例外,因为我无法继续.如果我可以继续,那可能是我记录但不会抛出异常的东西.

也就是说,对我而言,将它们用于控制流程是完全有效的.拥有所描述的所有返回代码似乎不是最优的,也不像异常选项那样可读.当代码不可读时,它不容易维护.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读