Tạo
class mới tên là five.
Nhập
vào các dòng lệnh.
public static void
main(String args[]) {
int so=0;
so=Integer.parseInt("88");
System.out.println("Ket
qua chuyen doi la: "+so);
int
c=10+so;
System.out.println("Ket
qua tong la: "+c);
}
Chạy
kết quả ra màn hình.
Ta
đang dùng lệnh để chuyển kiểu String sang số. Nhưng vì một lý do nào đó, chữ ta
dùng để chuyển không phải là số thì sẽ xảy ra lỗi.
Hãy
thử thêm chữ a vào thành “88a”, chạy chương trình, ta sẽ thấy
Tức
là đã có lỗi xảy ra, nếu đó là ứng dụng trên điện thoại, màn hình sẽ bị đen, ứng
dụng tự thoát.
Để
tránh điều này, Java dùng lệnh try catch để bắt lỗi, nếu có lỗi xảy ra, chương
trình không bị sập.
Thêm
lệnh try catch vào để đoạn code trông như sau:
public static void
main(String args[]) {
int so=0;
try{
so=Integer.parseInt("88a");
System.out.println("Ket
qua chuyen doi la: "+so); }
catch
(Exception e) {
System.out.println("Lỗi khi chuyển String sang
number");
}
int c=10+so;
System.out.println("Ket
qua tong la: "+c);
}
Chạy
kết quả ra màn hình, lúc này ta thấy chương trình vẫn chạy ra dòng chữ “Ket qua
tong la: 10”, bên trên là thông báo lỗi ta đã gõ vào.
Khác với khi không dùng try catch chương trình sập luôn không in
ra được cái gì cả.
Vì
phần trong ngoặc try bị lỗi nên phần trong ngoặc catch được in ra, đoạn ngoài thì
vẫn chạy bình thường.
Do
biến so vẫn là số 0 nên tổng int c=10+so vẫn là số 10. Nó vẫn chạy chứ
không bị sập tại lệnh chuyển kiểu như ở trên.
Bây
giờ bạn lại bỏ chữ a đi, chương trình lại chạy bình thường.
Lệnh
try catch giới thiệu để bạn biết, khi làm ứng dụng Android có chỗ cần dùng cấu
trúc này thì coi như bạn đã quen.
Thường
trong chương trình khi nào dùng try catch đã có mẫu sẵn, nếu bạn quên thì
Eclipse sẽ nhắc cái này phải có try catch, thì thêm vào thôi.
Chỉ
có một ít trường hợp bạn phải tự cho vào. Như khi người dùng nhập ngày tháng mà
lại kèm chữ, bạn phải dùng try catch để thông báo rằng đã nhập sai, yêu cầu nhập
lại.
Đó
là một trong các ứng dụng thực tế của lệnh này.
No comments:
Post a Comment