Java運行時異常

java運行時異常是可能在java虛擬機正常工作時拋出的異常。

java提供了兩種異常機制。一種是運行時異常(RuntimeExepction),一種是檢查式異常(checked execption)。

檢查式異常:我們經常遇到的IO異常及sql異常就屬於檢查式異常。對於這種異常,java編譯器要求我們必須對出現的這些異常進行catch 所以 面對這種異常不管我們是否願意,只能自己去寫一堆catch來捕捉這些異常。

運行時異常:我們可以不處理。當出現這樣的異常時,總是由虛擬機接管。比如:我們從來沒有人去處理過NullPointerException異常,它就是運行時異常,並且這種異常還是最常見的異常之一。

RuntimeExecption在java.lang包下,

下面是由java虛擬機提供的運行時異常

AnnotationTypeMismatchException, 
ArithmeticException, 
ArrayStoreException, 
BufferOverflowException, 
BufferUnderflowException, 
CannotRedoException, 
CannotUndoException, 
ClassCastException, 
CMMException, 
ConcurrentModificationException, 
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 

看到這麼多異常,想要找出我們常見的5中運行時異常是非常容易的。  

例如:ClassCastException(類轉換異常)

IndexOutOfBoundsException(數組越界)

NullPointerException(空指針)

ArrayStoreException(數據存儲異常,操作數組時類型不一致)

還有IO操作的BufferOverflowException異常


測試:當TestException繼承RuntimeException時,



方法test01無需聲明 throws 子句

但當TestException直接繼承Exception時,


將會提示:Unhandled exception type TestException



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章