Java基礎系列--throw、throws關鍵字


原創作品,可以轉載,但是請標注出處地址:http://www.cnblogs.com/V1haoge/p/8484697.html

一、概述

  throw和throws就是異常相關的關鍵字,在java中異常機制是一個非常重要的機制,我們需要重點掌握。

  既然說到了異常,簡單描述下異常機制很有必要,這也對后文的講述提供前提。

二、Java異常機制

  在Java中表示異常的接口是Exception,與其同一層次的還有一個Error接口,用於描述不可挽回的系統級錯誤,它們兩個都繼承自Throwable接口,這個接口是所有異常和錯誤的超接口。

  在Java中只有Throwable的實例才能在虛擬機或者java代碼中被拋出,一切想要拋出的異常都必須作為Throwable的子類。

  異常又分為兩種,一種是受檢異常,另一種是未受檢異常。

  受檢異常是Java內部定義的一系列異常類,它們都實現了Exception接口,這些異常必須被手動捕捉或者手動拋出,否則無法通過編譯,處於強制處理異常,屬於編譯期異常。

  未受檢異常則是一些可以不進行捕捉的異常,這些異常一般是由運行時邏輯引發,這些異常可以不捕捉,也可以進行捕捉或拋出,如果未進行捕捉、拋出處理,那么一旦運行時引發了這些異常,那么會被JVM直接處理,它包括運行時異常和Error。

  運行時異常是典型的未受檢異常,Java內部為我們提供了一部分這類型異常,其中最常見的空指針異常就屬此類。

  其實正確的做法是盡可能的對異常進行捕捉處理。

三、throw作用

  異常的拋出需要使用throw關鍵字,拋出的是一個異常對象,一般我們采用下面的方式進行拋出

1     throw new NullPointerException();

  再結合try...catch語句,或者if語句進行組合使用,將可能的異常拋出。

  有時候我們使用try...catch語句的catch塊中加入throw語句,可以將一個受檢異常轉化為一個未受檢異常。

四、throws作用

  當我們沒有條件在當前的方法中進行某個異常的處理時,可以在方法聲明處拋出,在這里拋出異常將被調用者捕捉處理,或者再次拋出,多個異常可用逗號隔開。

1     public void test()throws NullPointerException,ParseException{
2         
3     }

----------------------------------------

以下內容來自(http://blog.csdn.net/luoweifu/article/details/10721543) 

五、異常習慣

  好的編程習慣:

1.在寫程序時,對可能會出現異常的部分通常要用try{...}catch{...}去捕捉它並對它進行處理;

2.用try{...}catch{...}捕捉了異常之后一定要對在catch{...}中對其進行處理,那怕是最簡單的一句輸出語句,或棧輸入e.printStackTrace();

3.如果是捕捉IO輸入輸出流中的異常,一定要在try{...}catch{...}后加finally{...}把輸入輸出流關閉;

4.如果在函數體內用throw拋出了某種異常,最好要在函數名中加throws拋異常聲明,然后交給調用它的上層函數進行處理。

參考:深入理解java異常處理機制


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM