Ⅰ java中常見的異常類
從異常類的繼承架構圖中可以看出:Exception 類擴展出數個子類,其中 IOException、RunntimeException 是較常用的兩種。
習慣上將 Error 與 Exception 類統稱為異常類,但這兩者本質上還是有不同的。Error 類專門用來處理嚴重影響程序運行的錯誤,可是通常程序設計者不會設計程序代碼去捕捉這種錯誤,其原因在於即使捕捉到它,也無法給予適當的處理,如 JAVA 虛擬機出錯就屬於一種 Error。
不同於 Error 類,Exception 類包含了一般性的異常,這些異常通常在捕捉到之後便可做妥善的處理,以確保程序繼續運行,如 TestException7_2 里所捕捉到的 就是屬於這種異常。
RunntimeException 即使不編寫異常處理的程序代碼,依然可以編譯成功,而這種異常必須是在程序運行時才有可能發生,例如:數組的索引值超出了范圍。
與RunntimeException 不同的是,IOException 一定要編寫異常處理的程序代碼才行,它通常用來處理與輸入/輸出相關的操作,如文件的訪問、網路的連接等。
當異常發生時,發生異常的語句代碼會拋出一個異常類的實例化對象,之後此對象與 catch 語句中的類的類型進行匹配,然後在相應的 catch 中進行處理。
(1)x除以零會編譯異常嗎擴展閱讀:
Java異常的分類:
Java標准褲內建了一些通用的異常,這些類以Throwable為頂層父類。
Throwable又派生出Error類和Exception類。
錯誤:Error類以及他的子類的實例,代表了JVM本身的錯誤。錯誤不能被程序員通過代碼處理,Error很少出現。因此,程序員應該關注Exception為父類的分支下的各種異常類。
異常:Exception以及他的子類,代表程序運行時發送的各種不期望發生的事件。可以被Java異常處理機制使用,是異常處理的核心。
參考資料:網路-異常
Ⅱ c語言中除法里除數為0,編譯器會不會報錯么
區分除以常量0,和變數為0時被除兩種情況。
1 除以常量0。
編譯器除非特別設置,否則會對其檢測到,並報一個警告(warning),提醒有除0的情況。
2 除法中變數為0。
由於變數是在運行中賦值的,在編譯階段中,編譯器無法預知是否可能為0,所以對於此類情況,編譯器不會報錯。
Ⅲ java中error和exception分別有幾種
常見的error有:
ArithmeticException(除數為0的異常), BufferOverflowException(緩沖區上溢異常), BufferUnderflowException(緩沖區下溢異常), IndexOutOfBoundsException(出界異常), NullPointerException(空指針異常), EmptyStackException(空棧異常), IllegalArgumentException(不合法的參數異常), NegativeArraySizeException, NoSuchElementException, SecurityException, SystemException, UndeclaredThrowableException
常見的exception有:
1. java.lang.NullPointerException
異常的解釋是"程序遇上了空指針",簡單地說就是調用了未經初始化的對象或者是不存在的對象,即把數組的初始化和數組元素的初始化混淆起來了。數組的初始化是對數組分配需要的空間,而初始化後的數組,其中的元素並沒有實例化,依然是空的,所以還需要對每個元素都進行初始化(如果要調用的話)
2. java.lang.ClassNotFoundException異常的解釋是"指定的類不存在"。
3. java.lang.ArithmeticException這個異常的解釋是"數學運算異常",比如程序中出現了除以零這樣的運算就會出這樣的異常。
4. java.lang.
異常的解釋是"數組下標越界",現在程序中大多都有對數組的操作,因此在調用數組的時候一定要認真檢查,看自己調用的下標是不是超出了數組的范圍,一般來說,顯示(即直接用常數當下標)調用不太容易出這樣的錯,但隱式(即用變數表示下標)調用就經常出錯了,還有一種情況,是程序中定義的數組的長度是通過某些特定方法決定的,不是事先聲明的,這個時候,最好先查看一下數組的length,以免出現這個異常。
5. java.lang.IllegalArgumentException
這個異常的解釋是"方法的參數錯誤",比如g.setColor(int red,int green,int blue)這個方法中的三個值,如果有超過255的也會出現這個異常,因此一旦發現這個異常,我們要做的,就是趕緊去檢查一下方法調用中的參數傳遞是不是出現了錯誤。
6. java.lang.IllegalAccessException
這個異常的解釋是"沒有訪問許可權",當應用程序要調用一個類,但當前的方法即沒有對該類的訪問許可權便會出現這個異常。對程序中用了Package的情況下要注意這個異常
Ⅳ Java中為什麼整數除以0出現異常
這種問題寫個代碼跑一下就可以了,java中整數除以0會引發
java.lang.ArithmeticException: / by zero
ArithmeticException是出現異常的運算條件時,拋出此異常,結果如下圖:
除此之外還要注意,浮點數除以0將會的得到 Infinity(無窮大)或NaN結果,但不會報異常。
Ⅳ JAVA中0除以一個數會有什麼異常
(1):double d=0.0 其實d的值只是無線接近於0而已。
(2):intiWidth=m_rectmin.Width();
if(iWidth==0)iWidth=1;
(3):StructuredExceptionHandling異常撲捉.