java面試---異常

  1. throw 和 throws 的區別?
    throw是語句拋出一個異常,一般是在代碼塊的內部,當程序出現某種邏輯錯誤時由程序員主動拋出某種特定類型的異常
    throws是方法可能拋出異常的聲明。(用在聲明方法時,表示該方法可能要拋出異常)
  2. final、finally、finalize 有什麼區別?
    final關鍵字可以用於類,方法,變量前,用來表示該關鍵字修飾的類,方法,變量具有不可變的特性。
    finalize 方法來自於java.lang.Object,用於回收資源。可以爲任何一個類添加finalize方法。finalize方法將在垃圾回收器清除對象之前調用。
    finally當代碼拋出一個異常時,就會終止方法中剩餘代碼的處理,並退出這個方法的執行。
  3. try-catch-finally 中哪個部分可以省略?
    finally
  4. try-catch-finally 中,如果 catch 中 return 了,finally 還會執行嗎?
    會。
  5. 常見的異常類有哪些?
    (1)NullPointerException 當應用程序試圖訪問空對象時,則拋出該異常。
    (2)SQLException 提供關於數據庫訪問錯誤或其他錯誤信息的異常。
    (3)IndexOutOfBoundsException指示某排序索引(例如對數組、字符串或向量的排序)超出範圍時拋出。
    (4)NumberFormatException當應用程序試圖將字符串轉換成一種數值類型,但該字符串不能轉換爲適當格式時,拋出該異常。
    (5)FileNotFoundException當試圖打開指定路徑名錶示的文件失敗時,拋出此異常。
    (6)IOException當發生某種I/O異常時,拋出此異常。此類是失敗或中斷的I/O操作生成的異常的通用類。
    (7)ClassCastException當試圖將對象強制轉換爲不是實例的子類時,拋出該異常。
    (8)ArrayStoreException試圖將錯誤類型的對象存儲到一個對象數組時拋出的異常。
    (9)IllegalArgumentException 拋出的異常表明向方法傳遞了一個不合法或不正確的參數。
    (10)ArithmeticException當出現異常的運算條件時,拋出此異常。例如,一個整數“除以零”時,拋出此類的一個實例。
    (11)NegativeArraySizeException如果應用程序試圖創建大小爲負的數組,則拋出該異常。
    (12)NoSuchMethodException無法找到某一特定方法時,拋出該異常。
    (13)SecurityException由安全管理器拋出的異常,指示存在安全侵犯。
    (14)UnsupportedOperationException當不支持請求的操作時,拋出該異常。
    (15)RuntimeExceptionRuntimeException 是那些可能在Java虛擬機正常運行期間拋出的異常的超類。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章