Có tiêu chuẩn thực hành hay tiêu chuẩn công nghiệp nào tốt nhất cho việc ném ngoại lệ từ API của bộ công cụ không?Xác định ngoại lệ có thể được ném từ bộ công cụ API
Phương pháp đối diện người dùng có bắt được và kết thúc Exception
ở một số loại CustomException
để người dùng chỉ phải lo lắng về việc CustomException
sắp ra khỏi API không?
Hoặc là quy ước để chỉ cho phép những bong bóng đó lên?
Chúng tôi quan tâm đến việc có thể ghi lại tất cả các ngoại lệ có thể mà các phương pháp API của chúng tôi có thể ném. (Ví dụ: nếu phương thức API của chúng tôi gọi số Stream.Write()
có 4 hoặc 5 ngoại lệ, chúng tôi sẽ phải ghi lại tất cả những trường hợp ngoại trừ các ngoại lệ khác mà các phương thức được gọi khác có thể ném.)
Chúng tôi đang nghĩ đến việc làm này:
public void customerFacingApiMethod(){
try {
//api functionality goes here
} catch (Exception e) {
throw new CustomException(e);
}
}
+1 để không ẩn chi tiết ngoại lệ nội bộ – Oded
Về nguyên tắc, chúng tôi đồng ý. Nhưng nếu một trong những cuộc gọi chúng tôi đang thực hiện thay đổi một ngoại lệ nó ném, bây giờ tài liệu của chúng tôi là không đồng bộ. Hoặc nếu tài liệu của họ là không chính xác và có một ngoại lệ ném mà không phải là tài liệu. –
nếu điều gì sẽ xảy ra nếu như thế nào. Bạn có thể làm gì nếu bản thân bạn chết, quan điểm là bạn đang phá hủy tính năng ngoại lệ lớn nhất, đó là chúng được nhập. – Fred