Các lỗi
Thật tuyệt nếu như mã lệnh của chúng ta không bao giờ có bất kỳ sai sót nào nhưng điều này là phi thực tế. Đôi khi mọi thứ không xuôi chèo mát mái như ta muốn, và có những khi vấn đề xảy ra còn tệ hơn là việc sản sinh ra những kết quả không mong muốn. Khi điều đó xảy ra, JRE sẽ đưa ra một lỗi ngoại lệ (throws an exception). Ngôn ngữ này có bao gồm những câu lệnh đặc biệt cho phép bạn bắt lỗi và quản lý lỗi một cách thích hợp. Sau đây là khuôn dạng chung của những câu lệnh này:
PHP:
try {statement(s)
} catch ( exceptionType
name ) {statement(s)
} finally {statement(s)
}
Xử lý lỗi
Thử ví dụ sau trong main():
PHP:
public static void main(String[] args) {Adult myAdult = new Adult();
myAdult.addMoney(1);String wontWork = (String) myAdult.getWallet().get(0);
}
PHP:
java.lang.ClassCastException
at intro.core.Adult.main(Adult.java:19)Exception in thread "main"
Lưu vết của ngăn xếp sẽ báo cho biết kiểu của lỗi và số hiệu của dòng xuất hiện lỗi. Hãy nhớ rằng chúng ta phải ép kiểu (cast) khi gỡ bỏ một Object khỏi sưu tập. Chúng ta có sưu tập các đối tượng Integer nhưng chúng ta đã thử lấy đối tượng thứ nhất bằng lệnh get(0) (trong đó 0 là chỉ số của phần tử đầu tiên trong danh sách vì danh sách bắt đầu từ 0, cũng như mảng) và ép kiểu nó thành String. Môi trường chạy thi hành của Java sẽ kêu ca vì lỗi này. Lúc đó thì chương trình sẽ ngừng. Hãy làm sao để nó chấm dứt nhẹ nhàng hơn bằng cách xử lý lỗi này:
PHP:
try {
String wontWork = (String) myAdult.getWallet().get(0);
} catch (ClassCastException e) {
System.out.println("You can't cast that way.");
}
0 nhận xét:
Đăng nhận xét