答案 0 :(得分:1)
考虑这个例子:
function parseInt($string) {
// Return the int represented by this string
// If the string does not represent an int, throw an exception
}
现在想象一下$string == "foo"
。你的功能有什么回报?它不能返回int,因为这没有任何意义。它不能返回不是int的东西,因为它肯定会破坏某些东西(考虑这个调用$score = parseInt("foo") + parseInt("42")
)。
这就是Exception有用的地方。它以可预测的方式打破,并避免让你处于未知状态。
答案 1 :(得分:0)
当您编写{{ date('F d, Y', strtotime($list->created_at)) }}
时,您不一定知道将要调用它的开发人员(可能只是Future You)已经考虑过所有事情。因此,例如,如果他们忘记验证用户输入并尝试调用function foo()
,那么您真棒的除法函数会抛出某种myAwesomeDivisionFunction(3,0)
(可能是Exception
)。这将停止那里的代码,开发人员将被迫修复它。
虽然您可以DivideByZeroException extends RangeException
,但接下来会采取什么合乎逻辑的步骤?没有一个。你不能再承担任何责任了,所以你抛出了异常。