蓝山帝景
在查看java.lang.RuntimeException和java.lang.Exception类之间的区别之前,您必须知道Exception层次结构。两个类Exception和Error类都派生自类Throwable(派生自类Object)。这个班RuntimeException是从班级派生出来的Exception。所有例外都来自Exception或RuntimeException。源自的所有异常RuntimeException都称为未经检查的异常。所有其他例外都是经过检查的例外。必须在代码中的某处捕获已检查的异常,否则将无法编译。这就是为什么它们被称为检查异常。另一方面,对于未经检查的异常,调用方法没有义务处理或声明它。因此,编译器强制您处理的所有异常都是直接派生自的java.lang.Exception,而编译器不强制您处理的所有其他异常派生自java.lang.RuntimeException。以下是RuntimeException的一些直接已知子类。AnnotationTypeMismatchException,ArithmeticException,ArrayStoreException,BufferOverflowException,BufferUnderflowException,CannotRedoException,CannotUndoException,ClassCastException,CMMException,ConcurrentModificationException,DataBindingException,DOMException,EmptyStackException,EnumConstantNotPresentException,EventException,IllegalArgumentException,IllegalMonitorStateException,IllegalPathStateException,IllegalStateException,ImagingOpException,IncompleteAnnotationException,IndexOutOfBoundsException,JMRuntimeException,LSException,MalformedParameterizedTypeException,MirroredTypeException,MirroredTypesException,MissingResourceException,NegativeArraySizeException,NoSuchElementException,NoSuchMechanismException,NullPointerException,ProfileDataException,ProviderException,RasterFormatException,RejectedExecutionException,SecurityException,SystemException,TypeConstraintException,TypeNotPresentException,UndeclaredThrowableException,UnknownAnnotationValueException,UnknownElementException,UnknownTypeException,UnmodifiableSetException,UnsupportedOperationException,WebServiceException