當CheckedException產生時,不一定立刻處理它,可以再把異常throws出去。
在方法中使用try-catch-finally是由這個方法來處理異常。但是在一些情況下,當前方法並不需要處理發生的異常,而是向上傳遞給調用它的方法處理。
如果一個方法中可能產生某種異常,但是並不能確定如何處理這種異常,則應根據異常規范在方法的首部聲明該方法可能拋出的異常。
如果一個方法拋出多個已檢查異常,就必須在方法的首部列出所有的異常,之間以逗號隔開。
【示例】典型代碼(先不敲!)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
import
java.io.FileNotFoundException;
import
java.io.FileReader;
import
java.io.IOException;
public
class
Test9 {
public
static
void
main(String[] args) {
try
{
readFile(
"joke.txt"
);
}
catch
(FileNotFoundException e) {
System.out.println(
"所需文件不存在!"
);
}
catch
(IOException e) {
System.out.println(
"文件讀寫錯誤!"
);
}
}
public
static
void
readFile(String fileName)
throws
FileNotFoundException,
IOException {
FileReader in =
new
FileReader(fileName);
int
tem =
0
;
try
{
tem = in.read();
while
(tem != -
1
) {
System.out.print((
char
) tem);
tem = in.read();
}
}
finally
{
in.close();
}
}
}
|
注意事項
1. 方法重寫中聲明異常原則:子類重寫父類方法時,如果父類方法有聲明異常,那么子類聲明的異常范圍不能超過父類聲明的范圍。