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)那么在我的情况下哪个更好用 – 运行状态或例外? 解决方法
当意外缺少某些操作要求时,最好使用例外.例如,我希望能够连接到数据库.如果我不能,那么即使在降级状态下我也无法提供应用程序.我抛出一个例外,因为我无法继续.如果我可以继续,那可能是我记录但不会抛出异常的东西.
也就是说,对我而言,将它们用于控制流程是完全有效的.拥有所描述的所有返回代码似乎不是最优的,也不像异常选项那样可读.当代码不可读时,它不容易维护. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |