java.lang.Error
and its subclasses represent abnormal conditions, such as OutOfMemoryError
, which should only be encountered by the Java Virtual Machine.
The following code snippet:
public class MyException extends Error { /* ... */ } // Non-Compliant
should be refactored into:
public class MyException extends Exception { /* ... */ } // Compliant