Trong Java sự khác biệt giữa throw và throws là gì?
Trong Java, throw và throws là hai khái niệm quan trọng liên quan đến xử lý ngoại lệ, nhưng chúng có mục đích và cách sử dụng khác nhau. Bài viết này sẽ giải thích chi tiết sự khác biệt giữa throw và throws, cùng với ví dụ minh họa để giúp bạn hiểu rõ hơn.
1. Khái niệm
1.1. throw
throw là một từ khóa được sử dụng để ném một ngoại lệ cụ thể trong một phương thức hoặc khối mã. Khi bạn muốn ném một ngoại lệ, bạn sử dụng từ khóa này, theo sau là một đối tượng của lớp ngoại lệ.
throw có thể được sử dụng với cả ngoại lệ đã được kiểm tra (checked) và chưa được kiểm tra (unchecked).
1.2. throws
throws là một từ khóa được sử dụng trong khai báo phương thức để chỉ ra rằng phương thức có thể ném một hoặc nhiều ngoại lệ. Khi bạn khai báo một phương thức với throws, bạn đang thông báo cho người dùng phương thức rằng họ cần phải xử lý ngoại lệ đó.
throws chỉ có thể được sử dụng với ngoại lệ đã được kiểm tra (checked exceptions).
2. Cách sử dụng
2.1. Sử dụng throw
Khi bạn muốn ném một ngoại lệ trong thân phương thức, bạn sử dụng throw. Dưới đây là một ví dụ:
public class Example {
public void checkAge(int age) {
if (age < 18) {
throw new IllegalArgumentException("Tuổi phải lớn hơn hoặc bằng 18");
}
}
public static void main(String[] args) {
Example example = new Example();
example.checkAge(15); // Ném ngoại lệ
}
}
2.2. Sử dụng throws
Khi bạn khai báo một phương thức có thể ném ngoại lệ, bạn sử dụng throws. Ví dụ:
public class Example {
public void mayThrowException() throws Exception {
throw new Exception("Đã xảy ra lỗi!");
}
public static void main(String[] args) {
Example example = new Example();
try {
example.mayThrowException(); // Gọi phương thức có thể ném ngoại lệ
} catch (Exception e) {
System.out.println("Ngoại lệ: " + e.getMessage());
}
}
}
3. Tóm tắt sự khác biệt
Khía cạnh
throw
throws
Chức năng
Ném một ngoại lệ cụ thể
Thông báo rằng phương thức có thể ném ngoại lệ
Sử dụng
Trong thân phương thức
Trong khai báo phương thức
Loại ngoại lệ
Cả checked và unchecked
Chỉ checked exceptions
4. Kết luận
Sự khác biệt giữa throw và throws là rất quan trọng trong việc xử lý ngoại lệ trong Java. throw được sử dụng để ném một ngoại lệ cụ thể, trong khi throws được sử dụng trong khai báo phương thức để thông báo cho người dùng rằng phương thức có thể ném một hoặc nhiều ngoại lệ. Hiểu rõ sự khác biệt này sẽ giúp bạn xử lý ngoại lệ một cách hiệu quả hơn trong ứng dụng Java của mình.
This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.
Strictly Necessary Cookies
Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.
If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.