Vì vậy, tôi nghĩ rằng tôi đã có hiểu biết cơ bản tốt về xử lý ngoại lệ trong Java, nhưng gần đây tôi đang đọc một số mã khiến tôi bối rối và nghi ngờ. Nghi ngờ chính của tôi mà tôi muốn giải quyết ở đây là khi nào một người nên sử dụng ném trong khai báo phương thức Java như sau:
public void method() throws SomeException
{
// method body here
}
Từ việc đọc một số bài viết tương tự, tôi thu thập được rằng ném được sử dụng như một loại khai báo rằng SomeException có thể được ném trong quá trình thực thi phương thức.
Sự nhầm lẫn của tôi đến từ một số mã trông như thế này:
public void method() throws IOException
{
try
{
BufferedReader br = new BufferedReader(new FileReader("file.txt"));
}
catch(IOException e)
{
System.out.println(e.getMessage());
}
}
Có lý do gì mà bạn muốn sử dụng ném trong ví dụ này không? Có vẻ như nếu bạn chỉ đang thực hiện xử lý ngoại lệ cơ bản của một cái gì đó như IOException thì bạn chỉ cần khối try / catch và thế là xong.