我很好奇何时使用操作状态以及何时出现异常。假设我有一个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)一般来说,我什么时候使用操作状态(返回码),什么时候使用异常?