1. 程式人生 > 實用技巧 >Java異常處理-方式二:throws

Java異常處理-方式二:throws

異常處理方式二:throws +異常型別
*1."throws+異常型別"寫在方法的宣告處,指明此方法執行時,可能出現的異常型別
* 一旦當方法體執行時,出現異常,仍會在異常程式碼處生成一個異常類的物件,此物件滿足throws後異常型別時,就會
* 被丟擲,異常程式碼後續程式碼將不再執行
* 2.體會:try-catch-finally:真正的將異常處理掉了
* throws的方式只是將異常拋給了方法的呼叫者,並沒有真正的處理異常
*
* 開發中如何選擇
* 1.父類沒有使用throws,如果子類中拋異常,則子類只能使用try-catch-finally
* 2.層層遞進,使用throws(前一個結果是後一個方法的前提)
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

/**
 * 異常處理方式二:throws +異常型別
 *1."throws+異常型別"寫在方法的宣告處,指明此方法執行時,可能出現的異常型別
 * 一旦當方法體執行時,出現異常,仍會在異常程式碼處生成一個異常類的物件,此物件滿足throws後異常型別時,就會
 * 被丟擲,異常程式碼後續程式碼將不再執行
 * 2.體會:try-catch-finally:真正的將異常處理掉了
 *        throws的方式只是將異常拋給了方法的呼叫者,並沒有真正的處理異常
 *
 * 開發中如何選擇
 * 1.父類沒有使用throws,如果子類中拋異常,則子類只能使用try-catch-finally
 * 2.層層遞進,使用throws(前一個結果是後一個方法的前提)
 *
 * 
@author orz */ public class ExceptionTest2 { public void method2() throws IOException { method1(); } public void method1 () throws FileNotFoundException, IOException { File file=new File("hello.txt"); FileInputStream fis=new FileInputStream(file);
int data=fis.read(); while (data!=-1) { System.out.println((char)data); data=fis.read(); } fis.close(); } public static void main(String[] args) { ExceptionTest2 t=new ExceptionTest2(); try { t.method2(); } catch (Exception e) { e.printStackTrace(); } } }