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

24.8k views Asked by At

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).

3

There are 3 answers

0
user3535807 On BEST ANSWER

I used JadClipse Eclipse plug-in for decompiling my jar and found that my SomeException extends FaultInfoException (org.codehaus.xfire.fault.FaultInfoException),and then added xfire-all dependency to my pom.xml

1
fge On

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.

0
shweta tiwari On

You can resolve this by simply inheriting the exception class with a built-in Exception class. Wherever you have created the exception class just add extends Exception there.