Chain error trong try/catch java là gì

Dạ cho em hỏi người ta bảo giống java là như nào ạ? Đây là tính năng gì của java? Thanks all

Error cause would be a perfect way to chain errors together, which is possible in other programming languages like Java.

Chain error là việc cậu wrap 1 exception trong 1 exception khác.
Exception được wrap lại là nguyên nhân sâu xa, còn exception bên ngoài bổ sung thêm thông tin cho nguyên nhân.

Chẳng hạn:

public int convertTheId(String id) {
  try {
    return Integer.parse(id);
  } catch (NumberFormatException ex) {
    throw new NotIntegerFieldValidation("The ID is not an integer", ex);
  }
}

Thứ lỗi cho tớ nếu code trên không chạy được nha, tớ chỉ demo thôi :smile:
Cậu có thể thấy, khi cậu parse một xâu không phải số, NumberFormatException sẽ được tung ra. Cậu thực sự không muốn show thông điệp chung chung từ exception đó ra cho layer trên, nên cậu có thể chain nó với 1 exception khác (NotIntegerFieldValidation) để giải thích rõ hơn context của cậu.
Stacktrace được tạo ra sẽ đưa thông tin của exception ngoài cùng trước (NotIntegerFieldValidation), sau đó mới là nguyên nhân sâu xa.

Hope it helps!

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