throws trong java

Phân biệt throws và throw trong java

Bài viết ngày hôm nay mình sẽ giới thiệu các bạn hai từ khóa đó là throw throws trong java. Nào cùng tìm hiểu công dụng của từng từ khóa và cách phân biệt chúng.

Từ khóa throws trong java

Nếu một phương thức không xử lý một ngoại lệ đã kiểm tra thì phương thức đó phải khai báo ngoại lệ bằng từ khóa throws. Từ khóa throws được khai báo ở cuối dấu ngoặc ( ) trước khi bắt đầu một phương thức.

Cùng xem ví dụ về cách sử dụng throws

import java.io.*;
public class DemoJava {
    public static void main(String[] args) throws IOException {
       FileOutputStream fileOutputStream = null;
       fileOutputStream = new FileOutputStream("D://output.txt");
       fileOutputStream.write(65);
    }
}

Ở ví dụ trên phương thức main đã khai báo bỏ qua ngoại lệ IOException nên chương trình trên vẫn chạy bình thường.

Bạn cũng có thể khai báo bỏ qua nhiều ngoại lệ bằng cách khai báo các ngoại lệ sau từ khóa throws cách nhau bởi dấu phẩy. Cùng xem ví dụ về cách khai báo dưới đây

public void withdraw(int n) throws RemoteException, 
      InsufficientFundsException {
      //khối lệnh
   }

Từ khóa throw trong java

Từ khóa throw dùng để ném ra một ngoại lệ cụ thể.

Chúng ta có thể ném một trong hai ngoại lệ checked hoặc unchecked trong java bằng từ khóa throw. Từ khóa throw chủ yếu được sử dụng để ném ngoại lệ tùy chỉnh (ngoại lệ do người dùng tự định nghĩa).

Cú pháp từ khóa throw

throw exception ;

Ví dụ về ném ra ngoại lệ IOException

throw new IOException("File khong ton tai") ;

Cùng xem cách ném ra ngoại lệ bằng từ khóa throw

import java.io.*;
public class DemoJava {
    static void demoThrow ()throws IOException{
        throw new IOException("File khong ton tai");
    }
    public static void main(String[] args) throws IOException {
    demoThrow();
    }

}

Sau khi chạy chúng ta sẽ nhận được kết quả

Exception in thread "main" java.io.IOException: File khong ton tai

Các bạn lưu ý khi bạn throw ra một exception trong một phương thức thì hoặc:

  • Các bạn phải dùng từ khóa throws để bỏ qua ngoại lệ đó.
  • Các bạn phải dùng khối try-catch để bắt ngoại lệ đó.

Sự khác nhau giữa throw và throws trong java

throw throws
Từ khóa throw trong java được sử dụng để ném ra một ngoại lệ rõ ràng. Từ khóa throws trong java được sử dụng để khai báo một ngoại lệ.
Ngoại lệ checked không được truyền ra nếu chỉ sử dụng từ khóa throw. Ngoại lệ checked được truyền ra ngay cả khi chỉ sử dụng từ khóa throws.
Sau throw là một instance. Sau throws là một hoặc nhiều class.
Throw được sử dụng trong phương thức. Throws được khai báo ngay sau dấu đóng ngoặc đơn của phương thức.
Bạn không thể throw nhiều exceptions. Bạn không thể throw nhiều exceptions.

Bài viết mình đến đây là kết thúc. Cám ơn các bạn đã theo dõi !

 

 

 

Similar Posts

Subscribe
Notify of
guest
0 Bình luận
Inline Feedbacks
View all comments