Tại sao có những exception bắt buộc phải khai báo khi viết hàm?

Cho em hỏi là tại sao có những exception bắt người lập trình phải chỉ rõ là hàm này có thể gây ra exception gì? Những loại exception đó gọi là gì ạ

Mình không hiểu ý bạn lắm @@ Mình sẽ trả lời theo ý hiểu là: Tại sao phải tạo ra những loại Exception cụ thể cho từng lỗi nhé?


Bởi vì khi chạy 1 đoạn code thì sẽ có rất nhiều loại lỗi diễn ra, từng loại lỗi sẽ có 1 cách giải quyết khác nhau. Ví dụ nhé: Bạn muốn chuyển từ 1 chuỗi sang dạng số và sẽ có những lỗi sau:

  • Định dạng chuỗi không đúng, ví dụ như 123a. Chuỗi đó thì không thể chuyển sang dạng chuỗi được, Cách giải quyết là thông báo tới người dùng là chuỗi nhập sai.
  • Số đó quá lớn, vượt mức mà biến Integer có thể chứa. Cách giải quyết là chuyển nó sang dạng Long.

==> Bạn thấy đó, mỗi lỗi sẽ có từng cách giải quyết khác nhau. Vậy nên bạn phải catch từng loại lỗi một và đưa ra đoạn code xử lý tương ứng :smile:

Hy vọng sẽ giúp ích được cho bạn :wink:

3 Likes

Trước hết bạn cần phải hiểu Exception là gì?

Exception là một sự kiện xảy ra trong quá trình thực thi một chương trình Java, nó làm phá vỡ cái flow (luồng xử lý) bình thường của một chương trình, thậm chí chết chương trình.

Một ngoại lệ có thể xảy ra với nhiều lý do khác nhau, nó nằm ngoài dự tính của chương trình. Một vài ngoại lệ xảy ra bởi lỗi của người dùng, một số khác bởi lỗi của lập trình viên và số khác nữa đến từ lỗi của nguồn dữ liệu vật lý. Chẳng hạn như:

  • Người dùng nhập dữ liệu không hợp lệ.
  • Truy cập ngoài chỉ số mảng.
  • Một file cần được mở nhưng không thể tìm thấy.
  • Kết nối mạng bị ngắt trong quá trình thực hiện giao tiếp hoặc JVM hết bộ nhớ.
  • ….

Trong Java có 2 loại exception: checked và unchecked. Tất cả các checked exception được kế thừa từ lớp Exception ngoại trừ lớp RuntimeException. RuntimeException là lớp cơ sở của tất cả các lớp unchecked exception. Đó cũng là dấu hiệu để nhận biết đâu là checked exception và đâu là unchecked exception. Điểm khác biệt giữa các lớp checked và unchecked expcetion chính là thời điểm xác định được expcetion có thể xảy ra.

Loại exception mà bắt người dùng bắt buộc người dùng phải xử lý được gọi là Checked Exception.

Chi tiết em tham khảo link sau:

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?