How can I fix 'No exception of type SomeException can be thrown; an exception type must be a subclass of Throwable'

user3535807 picture user3535807 · Dec 3, 2014 · Viewed 22.9k times · Source

I have java webstart app and want to use app API for testing purposes. So I get required (as I assumed) library from webserver and install it to maven repository. And all is fine except custom exception which received

No exception of type SomeException can be thrown; an exception type must be a subclass of Throwable

As I understand from similar topics - some jar library is missing, is there some way to know which one? or maybe there is other way to fix this? (of course I can install all jars which used for app, but there are over 90 jar's).

Answer

fge picture fge · Dec 3, 2014

If you want to define a custom exception, it MUST subclass Throwable; but in practice you'll never subclass this directly. Subclass either of:

  • Exception if you want to create a checked exception class;
  • RuntimeException if you want to create an unchecked exception class.

You may also want to subclass another exception already defined by the JDK, which defines a good number of exceptions which may fit what you want to "say" with your exception.