什么时候最好在PHP中使用异常?
作者:互联网
我通常通过返回false来指示方法中的错误,但它并不总是在语义上与我发生冲突(因为根据方法的不同,false可能是有效的返回).
我已经研究了异常,并且想知道它们是否是一种“一刀切”的解决方案?我应该在仍然可以的地方返回false吗?
我可能在这里完全忽略了要点,所以请忍受我.
// My old way
function getProductById($id) {
if ( ! is_numeric($id)) {
return false;
}
}
// My consideration
function getProductById($id) {
if ( ! is_numeric($id)) {
throw new Exception('The id must be numerical!');
}
}
解决方法:
例外很棒!使您可以使错误处理代码远离错误代码.
您是正确的,返回false可能是函数的有效答案.如果抛出错误,也可以捕获它并做一些更有用的事情.
当我说这有助于使您的错误处理代码远离错误时,请考虑一下
try {
func1($a);
func2($b);
func3($c);
} catch (Exception $e) {
// error handling here
}
因此,您无需检查每个函数是否有错误的返回值并对其执行操作.
标签:error-handling,exception,php 来源: https://codeday.me/bug/20191210/2101423.html