Hey Cộng đồng StackOverflow,Ném và bắt ngoại lệ
Về ném ngoại lệ. Nói chung, khi nào tôi ném và ngoại lệ, và khi nào tôi bắt nó?
Hãy nói rằng tôi tình cờ gặp phải những tình huống này mà tôi phải từ bỏ vì một số vấn đề đã xảy ra và tôi không thể phục hồi nó. Tôi có ném hay bắt được không?
tôi làm điều này ngay bây giờ:
try {
// some code
}
catch (IOException e) {
logger.info("Failed to do something, and cannot continue" + e.getMessage(), e);
e.printStackTrace();
throw e;
}
Đây có phải là điều đúng đắn nên làm gì? Nó sẽ thích hợp hơn nếu tôi chỉ ném ngoại lệ? Xin lỗi, tôi là một người mới ở trường hợp ngoại lệ :)
Vì vậy, bạn đang nói rằng nếu tôi có một ngoại lệ mà tôi không thể xử lý bên trong phương pháp đó, tôi nên ném nó. Nhưng, nếu tôi có thể phục hồi từ nó bên trong cùng một phương pháp, thì đó là khi nó thích hợp để nắm bắt bên trong phương pháp. Ngoài ra, tôi có nên để ngoại lệ bắt cho (phương pháp, kiểm tra) thực hiện phương pháp cơ bản đã ném nó? –
vâng, bạn chỉ bắt được những gì bạn có thể làm gì đó. tôi không hiểu phần cuối, bạn có thể nói lại điều đó không? –
Xin lỗi về điều đó, hãy để tôi thử lại. Những gì tôi thực sự có nghĩa là để nói là khi tôi sử dụng một phương pháp ném một ngoại lệ trong một số bài kiểm tra đơn vị hoặc một phương pháp chính, và chúng ta hãy nói rằng tôi làm cho bài kiểm tra ném ngoại lệ. Điều gì xảy ra ở đó? Liệu nó chỉ cần bỏ thuốc lá? Nó có in thông báo lỗi không? Điều thích hợp nhất để làm trong tình huống này là gì? –