The question is in terms to don't allow app to throw exception and don't stop the application in not critical elements (expendable like log history of users search saved to DB) is it better to use this code:
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) {}
or:
@$user = Sentry::getUser();
It's just an theoretical code but in fact Sentry is a good example to show what I mean. In this case if user is not logged in then Sentry will throw an exception.
As I said it's just about code that is not critical for application and I am not going to overuse.
Obviously better approach is to write code to prevent this kind of situation at all. Sometimes however it is necessary to stfu system :)