So I actually found the solution while looking through docs on an unrelated issue:
Apache Sling :: Sling Models
It looks like Sling has a factory class you can use that will pass exceptions when used to adapt objects to new types. Instead of using the object's adaptTo function, you can simply use:
MyModel model = modelFactory.createModel(object, MyModel.class);
Which will throw catchable exceptions.