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

0
774
throws trong java
throws trong java
Bài số 18 trong 29 bài của series Tự học lập trình 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

Ở 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

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

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

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

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

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

throwthrows
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 !

 

 

 

Các bài viết trong SeriesBài trước: Cách dùng khối try-catch để bắt ngoại lệBài sau: Tính đóng gói trong java
avatar
  Subscribe  
Notify of