In particular, is there a standard Exception subclass used in these circumstances?
4 Answers
java.lang.UnsupportedOperationException
Thrown to indicate that the requested operation is not supported.
Differentiate between the two cases you named:
To indicate that the requested operation is not supported and most likely never will, throw an
UnsupportedOperationException.To indicate the requested operation has not been implemented yet, choose between this:
Use the
NotImplementedExceptionfrom apache commons-lang which was available in commons-lang2 and has been re-added to commons-lang3 in version 3.2.Implement your own
NotImplementedException.Throw an
UnsupportedOperationExceptionwith a message like "Not implemented, yet".
If you create a new (not yet implemented) function in NetBeans, then it generates a method body with the following statement:
throw new java.lang.UnsupportedOperationException("Not supported yet.");
Therefore, I recommend to use the UnsupportedOperationException.
If you want more granularity and better decription, you could use NotImplementedException from commons-lang
Warning: Available before versions 2.6 and after versions 3.2, only.
nulland you accidentally used it (or someone else did) you would getNullPointerExceptionswhich are less obvious thanUnsupportedOperationExceptionsin this case. Just an example. - 2rs2ts