筆記:
- Runtime Exception
在執行階段才會說有例外出現
- Checked Exception
在之行前就會跳出錯誤說要處理
拋出例外語法:throw new Exception 類型
如果非 Runtime Exception ,則需要在方法後面宣告 拋出的方法類型
如果是 Runtime Exception可以不用加throws。
void testfunctuon throws Exception類型
可以宣告方法時拋出多個例外,可用父子例外類別包含處理。
但一般方法裡 throw new 一個例外時只能有一個。
throw vs throws
一個是方法裡面性用來拋例外,一個是方法宣告使用
package test;
import java.io.*;
public class Exceptionclass {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a = 0, b = 10;
exclass ex = new exclass();
ex.throwsManyRuntimeExceptio();
// inclass.MorethanfiveWillError(90); //會直接說編譯錯,可用try catch除錯 或改值
try {
ex.throwsManyCheckedException();
} catch (Exception ee) {
// Exception包含 IOException和 FileNotFoundException 就不用再多抓
}
try {
ex.throwsManyCheckedException();
//要有兩個Exception類型 若只用 IOException也可以 因為FileNotFoundException為他的子類別
} catch (FileNotFoundException IE) {
} catch (IOException e) {
e.printStackTrace();
}
}
}
class exclass {
void throwsRuntimeException() {
throw new RuntimeException();
}
void throwsManyCheckedException() throws IOException, FileNotFoundException { // 非runtimeException要加throws
throw new ArithmeticException();
}
void throwsManyRuntimeExceptio() throws ArithmeticException, ArrayStoreException { // 非runtimeException要加throws
throw new ArithmeticException();
}
}
@copyright MRcodingRoom
觀看更多文章請點MRcoding筆記
觀看更多文章請點MRcoding筆記