Chúng ta đã được học xong toàn bộ kiến thức về cách xử lý ngoại lệ Exception trong Java, vậy thì bài này mình sẽ đưa ra một vài ví dụ về các trường hợp gặp Exception phổ biến nhất khi làm việc với Java.

Ví dụ 1: Ngoại lệ số học (ArithmeticException)

Class: Java.lang.ArithmeticException

Đây là một class có sẵn trong gói java.lang. Exception này xảy ra khi ta chia một số nguyên với số 0.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Example1
{
   public static void main(String args[])
   {
      try{
         int num1=30, num2=0;
         int output=num1/num2;
         System.out.println ("Result: "+output);
      }
      catch(ArithmeticException e){
         System.out.println ("You Shouldn't divide a number by zero");
      }
   }
}

Output:

1
You Shouldn't divide a number by zero

Trong ví dụ trên, chúng ta đã chia một số nguyên cho số 0 vì vậy trình biên dịch sẽ throw ra ArithaturesException.

Ví dụ 2: Ngoại lệ ArrayIndexOutOfBound

Class: Java.lang.ArrayIndexOutOfBoundsException

Ngoại lệ này xảy ra khi bạn cố gắng truy cập đến bên ngoài kích thước của một mảng. Ví dụ: Nếu mảng chỉ có 5 phần tử và bạn cố gắng hiển thị phần tử thứ 7 thì nó sẽ ném ngoại lệ này.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class ExceptionDemo2
{
   public static void main(String args[])
   {
      try{
        int a[]=new int[10];
        //Array has only 10 elements
        a[11] = 9;
      }
      catch(ArrayIndexOutOfBoundsException e){
         System.out.println ("ArrayIndexOutOfBounds");
      }
   }
}

Output:

1
ArrayIndexOutOfBounds

Trong ví dụ trên, mảng được khởi tạo có 10 phần tử, index từ 0 đến 9. Vì chúng ta đang cố gắng truy cập phần tử có index là 11, vượt ra ngoài kích thước của mảng nên chương trình ném ra ngoại lệ này.

Ví dụ 3: NumberFormatException

Class: Java.lang.NumberFormatException

Ngoại lệ này xảy ra khi một string bị ép kiểu sang bất cứ kiểu dữ liệu số học nào.
Ví dụ: câu lệnh int num = Integer.parseInt (“XYZ”); sẽ throw NumberFormatExceptionvì chuỗi “XYZ” không thể được ép kiểu thành int.

1
2
3
4
5
6
7
8
9
10
11
12
class ExceptionDemo3
{
   public static void main(String args[])
   {
      try{
     int num=Integer.parseInt ("XYZ") ;
     System.out.println(num);
      }catch(NumberFormatException e){
      System.out.println("Number format exception occurred");
       }
   }
}

Output:

1
Number format exception occurred

Ví dụ 4: Ngoại lệ StringIndexOutOfBound

Class: Java.lang.NullPointer Exception
NullPointerExceptionlà lỗi ngoại lệ xảy ra khi bạn tham chiếu tới Object nhưng nó lại không có vị trí nào trên bộ nhớ (null). Gọi một method tham chiếu null hoặc cố gắng truy cập một trường tham chiếu null là một trong những nguyên nhân phổ biến gây ra lỗi NullPointerException.

1
2
3
4
5
6
7
8
9
10
11
12
13
class Exception2
{
   public static void main(String args[])
   {
    try{
        String str=null;
        System.out.println (str.length());
    }
        catch(NullPointerException e){
        System.out.println("NullPointerException..");
    }
   }
}

Output:

1
NullPointerException..

Ở đây, length() là một hàm, nên phải được sử dụng trên một object nào đó. Tuy nhiên, trong ví dụ trên, object str là null nên NullPulumException xảy ra.

Theo: freetuts.net

 

ĐĂNG KÝ THÀNH VIÊN

NẾU NỘI DUNG HỮU ÍCH HÃY XEM QUẢNG CÁO ĐỂ ỦNG HỘ

NẾU NỘI DUNG HỮU ÍCH HÃY XEM QUẢNG CÁO ĐỂ ỦNG HỘ

Được quan tâm nhiều nhất

  • Phim Ngắn Đột Kích - Phiên bản 10 năm trước

  • Apple Watch Series 5 Teardown - Always on Display Explained

  • iPhone 11 Pro Max Teardown - Tiny Motherboard & BIG Battery!

  • Apple Watch Series 4 Teardown

Bạn thấy bài viết này thế nào?
5/5 - (1 bình chọn)

Thích bài viết

1 thích

Chia sẻ ngay!

phuongle

Thành viên từ: 10/12/2019

Điểm uy tín: 5,987

SMod: 1,289 hướng dẫn đã chia sẻ

Team

Lập Trình Thành viên của Lập Trình

1 Thành viên

1,289 bài viết

Thêm bình luận

Bình luận bằng tài khoản Facebook

After viewing your support content - Please click advertisement for Support & Donate us team! Đóng