Tôi đang viết một dịch vụ web bằng Java và tôi đang cố gắng tìm ra cách tốt nhất để xác định mã lỗi và chuỗi lỗi liên quan của chúng . Tôi cần có mã lỗi số và chuỗi lỗi được nhóm lại với nhau. Cả mã lỗi và chuỗi lỗi sẽ được gửi đến máy khách đang truy cập dịch vụ web. Ví dụ: khi một SQLException xảy ra, tôi có thể muốn làm như sau:
// Example: errorCode = 1,
// errorString = "There was a problem accessing the database."
throw new SomeWebServiceException(errorCode, errorString);
Chương trình khách hàng có thể được hiển thị thông báo:
"Lỗi # 1 đã xảy ra: Đã xảy ra sự cố khi truy cập cơ sở dữ liệu."
Suy nghĩ đầu tiên của tôi là sử dụng một Enum
trong các mã lỗi và ghi đè các toString
phương thức để trả về các chuỗi lỗi. Đây là những gì tôi nghĩ ra:
public enum Errors {
DATABASE {
@Override
public String toString() {
return "A database error has occured.";
}
},
DUPLICATE_USER {
@Override
public String toString() {
return "This user already exists.";
}
},
// more errors follow
}
Câu hỏi của tôi là: Có cách nào tốt hơn để làm điều này không? Tôi thích một giải pháp trong mã hơn là đọc từ một tệp bên ngoài. Tôi đang sử dụng Javadoc cho dự án này và có thể ghi lại các mã lỗi trong dòng và tự động cập nhật chúng trong tài liệu sẽ rất hữu ích.