Cách bắt ngoại lệ trong java ?
Cách sử dụng khối try – catch
Khối try / catch được đặt xung quanh một đoạn chương trình dễ phát sinh ngoại lệ, cùng xem cú pháp
1
2
3
4
5
6
cố gắng{
//khối lệnh 1;
}
catch[ ngoại_lệ_1 e1]{
//khối lệnh 2;
}
Khối lệnh 1. Is an command command easy out of invalid. Khi một ngoại lệ xảy ra phải được xử lý trong khối bắt liên kết với nó
Ngoại lệ 1. Là tên của ngoại lệ mà bạn muốn bắt trong khối lệnh 1
Ví dụ về bắt ngoại lệ bằng khối try – catch
Ta sẽ tạo một mảng 2 phần tử và sau đó cố gắng truy cập vào phần tử thứ 3. Khi đó chương trình sẽ ném ra một ngoại lệ ArrayIndexOutOfBoundsException
Java1
2
3
4
5
6
7
8
9
10
11
lớp công khai DemoJava {
công khai tĩnh vô hiệu chính[String[] args] {
int[] a = {1,2};
thử{
Hệ thống. ra. println[a[3]];
}catch [ArrayIndexOutOfBoundsException e]{
Hệ thống. ra. println["Ngoai le phat sinh. " + e ];
}
Hệ thống. ra. in["Thoat khoi khoi try/catch"];
}
}
Sau khi chạy chương trình trên sẽ cho ra kết quả
1
2
ngoại lệ phát sinh. java. lang thang. ArrayIndexOutOfBoundsException. 3
Thoái mái khởi try/catch
Lưu ý. The you can started exception one way sumo bằng cách sử dụng Exception
Nhiều khối bắt
Một khối thử có thể được theo sau bởi nhiều khối bắt. Cùng xem cách khai báo
1
2
3
4
5
6
7
8
9
cố gắng{
//khối lệnh 1;
}
catch[ ngoại_lệ_1 e1]{
//khối lệnh;
}
bắt[ ngoại_lệ_2 e2]{
//khối lệnh;
}
Ở đây mình trình bày hai khối bắt nhưng bạn có thể tạo ra nhiều khối bắt hơn. Nếu một ngoại lệ xảy ra trong khối thử, ngoại lệ sẽ được ném vào trong khối bắt thứ nhất. Nếu dữ liệu của ngoại lệ kiểu dữ liệu bị ném khớp với ngoại_ệ_1 thì nó sẽ bị bắt tại đây. Nếu ngoại lệ sẽ được chuyển đến khối thứ hai. Lệnh này cứ tiếp tục đến khi ngoại lệ bị bắt bởi một khối bắt hoặc ngoại lệ đi qua hết các khối bắt
Ví dụ
Đây là đoạn mã hiển thị cách sử dụng khối try – catch với nhiều khối bắt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
nhập java. io. *;
lớp công khai DemoJava {
công khai tĩnh vô hiệu chính[String[] args] {
int x;
FileInputStream tệp;
thử {
tệp = mới FileInputStream["input.txt"];
x = [byte] file.đọc[];
} bắt [FileNotFoundException f]{
Hệ thống. ra. println[f];
} catch [IOException i] {
Hệ thống. ra. println[i];
}
}
}
Sau khi chạy sẽ nhận được kết quả
1
java. io. FileNotFoundException. đầu vào. txt [Hệ thống không thể tìm thấy tệp được chỉ định]
khối cuối cùng
Khối cuối cùng là khối cuối cùng theo sau khối thử. Một khối cuối cùng luôn luôn chạy cho dù có ngoại lệ hay không. Thường sử dụng khối cuối cùng để đóng các tệp, hoặc dọn dẹp tài nguyên