问题在于不允许app抛出异常而不停止应用程序中的非关键元素(消费者如用户搜索保存到DB的日志历史记录)是否更好地使用此代码:
try {
/* some code here that will throw an exception at any error/miss-configuration because it is the
way this module works */
$user = Sentry::getUser();
} catch (Exception $e) {}
或:
@$user = Sentry::getUser();
这只是一个理论代码,但事实上Sentry就是一个展示我的意思的好例子。在这种情况下,如果用户未登录,则Sentry将抛出异常。
正如我所说,这只是关于应用程序并不重要的代码,我不会过度使用。
显然,更好的方法是编写代码来防止这种情况。 然而,有时需要stfu系统:)
答案 0 :(得分:1)
如果代码抛出异常,处理该异常的唯一方法是使用try
/ catch
块。
@code
仅限于错误消息;致命错误和异常仍将停止执行代码。
或者,如果您有很多例外情况,可以试试setting your own exception handler,但我不能说这是一个好主意。