[英]Understanding try catch block
我对整个try catch块感到困惑。 我理解如果抛出异常它执行catch块,但是我有一个关于在try块中使用return的问题。
try {
//other logic is here
//this is in laravel and sends the user back and should stop operation
if (foo != bar) {
return Redirect::back()->with_message('This auction is closed.', 'error');
}
} catch (Exception $e) {
return $e->getMessage();
}
所以我的问题是:在try块内结束操作是否可以? 我是否会遇到一个错误,其中返回被忽略(或被视为异常?)并且代码会继续? 我再次对此非常陌生。
是的,这是编写该代码的完美有效方式。
在控制退出try
或catch
块之后代码将继续运行的一种情况是在PHP 5.5中,它最终采用了来自其他语言的finally
块,并且可以用于运行必须始终在try
块之后执行的清理代码,无论是否抛出异常。
但你可能不会使用5.5。
是的,没关系。 如果由于任何原因Redirect :: back或with_message方法引发异常,您将返回错误消息
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.