?
Bình th??ng theo các bài tr??c, các b?n s? dùng if, else ?? lo?i b?, in ra l?i. (t?t nhiên n?u b?n ?ã bi?t try catch r?i thì không nói

Ví d?: Các b?n xem ?o?n code này tr??c khi ??c lý thuy?t, ch?y th? nó, có th? nó c?ng khá d? hi?u!
PHP:
package javaandroidvn;
public class JavaAndroidVn {
public static void main(String[] args) {
int a = 5;
int b = 0;
//Cách các bài tr??c th??ng làm, dùng if, else:
if (b == 0) {
System.out.println("L?i chia cho 0");
} else {
System.out.println("a/b = " + a / b);
}
System.out.println(" Cách dùng try - catch - finally ");
//S? d?ng try, catch ?? b?t l?i:
try {
System.out.println("a/b = " + a / b);
} catch (Exception e1) {
System.out.println("Có l?i gì ?ó x?y ra ");
System.out.println("Tên l?i là: " + e1);
} finally {
System.out.println("Có l?i hay không thì cái dòng cu?i cùng này v?n ???c in ra!");
}
}
}
- Trong ví d? trên, trong kh?i try{} là nh?ng dòng l?nh chúng ta c?n th?c hi?n!
Kh?i catch (Exception e1) {} là n?i ch?a các dòng l?nh th?c hi?n khi phát hi?n l?i!
- ? ?ây, ta c?n hi?u rõ khái ni?m Exception:
Exception (Ngo?i l?) là s? ki?n x?y ra khi m?t ch??ng trình ?ang ch?y mà phát sinh ra l?i. Nó s? làm gián ?o?n ch??ng trình!
(Exception e1) trong ?ó "e1" là tên c?a ???c gán n?u ??i t??ng b? l?i, các b?n có th? ??t tên này b?ng các t? khác.
- B?n có th? in "e1" ra ngoài, s? th?y ???c l?i c? th?!
- Exception là l?p cha, nó nói chung, và in ra các l?i, ngoài ra còn có l?p con c? th? và các ngo?i l? khác nh? sau:
Exception | L?p n?n c?a run-time
NullPointerException | M?t ??i t??ng không t?n t?i
ClassNotFoundException | Không tìm th?y Class
FileNotFoundException | Không tìm th?y file
SecurityException | Exception liên quan ??n b?o m?t
ArrayIndexOutOfBoundsException | V??t quá ch? m?c c?a m?ng
IllegalAccessException | Truy c?p không h?p l?
IllegalArgumentException | ??i s? hàm
ArithmeticException | L?i th?c thi m?t phép toán
NumberFormatException | ??nh d?ng s? không ?úng
IOException | L?i nh?p xu?t
EOFException | K?t thúc m?t t?p tin
NoSuchMethodException | Sai tên ph??ng th?c
InterruptedException | Ng?t lu?ng ?ang ???c th?c thi
Ví d?: In ra l?i c? th? v??t quá ch? m?c c?a m?ng.
PHP:
package javaandroidvn;
public class JavaAndroidVn {
public static void main(String[] args) {
int arrInt[] = {1, 2, 4, 7, 10};
try {
System.out.println("arrInt[6] = " + arrInt[6]);
} catch (ArrayIndexOutOfBoundsException e2) {
System.out.println("L?i! V??t quá ch? m?c c?a m?ng! " + e2);
}
}
}
PHP:
try {
//N?i dung mu?n b?y l?i} catch (ExceptionType1 e) {
//Kh?i l?nh cho l?i}catch (ExceptionType2 e1) {
//Kh?i l?nh cho l?i} catch (Exception ex) {
//Exception cho nh?ng cái còn l?i}
2, Finally?
Nó n?m ? cu?i cùng c?a kh?i l?nh try - catch - finally, nó luôn luôn ???c th?c hi?n ngay c? khi ch??ng trình có b?t ???c l?i
hay không!
Trong kh?i l?nh ??y ?? nh? ví d? ? ??u bài, dòng System.out.println("Có l?i hay không thì cái dòng cu?i cùng này v?n ???c in ra!");
Luôn luôn ???c th?c hi?n và in ra khi b?n gán b?t giá tr? nào cho b!
Xem thêm video nói khá ??y ?? v? try - catch - finally c?a Blog StudyAndShare
?
B? sung thêm video v? throw and throws
?
Ngu?n : Android.vn