Arrayindexoutofbound để xử lý ngoại lệ nào
Ngoại lệ (exceptions) có thể làm chương trình kết thúc bất thường. Do đó, xử lý ngoại lệ là công việc quan trọng mà lập trình việc phải lưu ý. Chúng ta có thể xử lý ngoại lệ với những cách sau trong Java: Show
1. Xử lý exceptions trong Java với try…catchCó thể sử dụng try…catch để xử lý ngoại lệ trong Java. Cú pháp:
Khi một exception xảy ra trong khối lệnh trythì nó sẽ được ném cho khối lệnh catchxử lý mà không làm cho chương trình bị kết thúc bất thường. Lưu ý: Có thể chỉ có khối lệnh try mà không có khối lệnh catch. Nhưng khi có khối lệnh catch thì bắt buộc phải có khối lệnh try. Ví dụ:
Kết quả
Trong ví dụ trên, chúng ta thực hiện phép chia cho 0 nên sẽ sinh ra exception. Exception này xảy ra thì các lệnh trong try sẽ bị bỏ qua và sẽ ném exception cho khối lệnh catch. Khối lệnh catch bắt được exception và được xử lý trong catch. Nếu các lệnh trong try không sinh ra ngoại lệ thì khối lệnh catch sẽ được bỏ qua. Có thể bắt nhiều exception với một khối lệnh catch
Có thể sử dụng nhiều khối lệnh catch với try
2. Xử lý exceptions trong Java với try…catch…finallyTrong Java, khối lệnh finallyluôn luôn được thực thi bất kể có xảy ra ngoại lệ hay không. Khối lệnh finallycó thể có hoặc không là do lập trình viên sử dụng. Mỗi khối lệnh trysẽ chỉ có một khối lệnh finally. Cú pháp:
Có một số trường hợp chúng ta nên sử dụng finally. Ví dụ, trường hợp mở một file để đọc và ghi dữ liệu vào file. Sau khi mọi thao tác với file hoàn tất thì phải đóng kết nối để trả file lại cho các chương trình khác sử dụng. Việc đóng kết nối file phải được thực thi mặc dù có xảy ra exception trong quá trình thao tác với file hay không.
Khối lênh try…finally trong JavaTrong Java, chúng ta có thể sử dụng finallyvới trymà không cần catch. Không khuyến kích sử dụng như thế này bởi exception sẽ không được xử lý bởi catchnếu xảy ra.
Kết quả
3. Xử lý exceptions trong Java với throws và throw3.1. Từ khóa throws trong JavaTrong Java, chúng ta sử dụng từ khóa throwstrong khai báo phương thức để khai báo những ngoại lệ (exceptions) có thể xảy ra trong phương thức đó. Chúng ta có thể nói là throwsném các ngoại lệ của phương thức ra bên ngoài. Lưu ý: Lập trình viên phải đoán biết trước những loại ngoại lệ của phương thức để khai báo cho chính xác. Cú pháp của sử dụng throws:
Ví dụ:
Kết quả
Trong ví dụ trên, hàm khởi tạo
Chúng ta có thể khai báo nhiều ngoại lệ có thể xảy ra khi thực thi phương thức. Ví dụ:
3.2. Từ khóa throw trong JavaTừ khóa throwđược sử dụng để khai báo một ngoại lệ cụ thể bên trong phương thức. Chúng ta có thể định nghĩa thông báo (message) của ngoại lệ với từ khóa throw. Ngoại lệ được khai báo bởi throwsẽ được ném cho ngoại lệ được khai báo với throwscủa phương thức. Ví dụ:
Kết quả
Trong ví dụ trên, nếu không tìm thấy file thì sẽ ném ngoại lệ với từ khóa throw:
Phương thức
|