Catch more errors to detect when JNotify fails to load

Fixes #2831

I list the the exceptions we want to catch rather than just catching Throwable. That's because Throwable matches  a lot of stuff we don't really want to catch, e.g. OutOfMemoryError.