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 và 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 !
Để lại một bình luận