Well, almost all exceptions extend the \RuntimeException class. Because of this most exceptions will be caught in your code.
Instead you need to wrap the code for twitter in a try catch and catch the exception there. If something went wrong you can simply throw a new exception and catch that exception instead.
try {
// Do your twitter stuff here!
} catch (\RuntimeException $exception) {
throw new TwitterFailedException();
}
In your handler you can do something like this
if ($exception instanceof \TwitterFailedException) {
return redirect()->route('admin.panel')
->with('message', 'Please try again later..')
->with('message_type','warning');
}