does that have to be Throwable? catching Throwable and Exception are almost always a code smell. What Exceptions can be thrown here?

Is there a way that thriftHandler.getChannel() can return null and if yes, how do you distinguish between the error case and the legitimate null returned?