C0919G1-Tida-Md2-d5-Exception

Ngoại lệ là gì ?

Ngoại lệ (exception) là thuật ngữ chỉ tình trạng sai hoặc bất thường xảy ra khi một chương trình đang chạy. Một chương trình dù được thiết kế tốt đến đâu thì vẫn có khả năng xảy ra lỗi trong khi thực thi.

Vì vậy, mỗi chương trình được thiết kế tốt cần có những đoạn mã phòng chống lỗi và các tình trạng bất thường. Phần mã này nên được đưa vào chương trình ngay từ giai đoạn đầu của việc phát triển chương trình.

Mỗi ngoại lệ trong JAVA là một đối tượng và được tổ chức thành các lớp, các lớp được tổ chức thành các package.

Ngoại lệ của Java được chia thành hai loại: được kiểm tra (checked) / không được kiểm tra (unchecked) bởi trình biên dịch.

Ngoại lệ không được kiểm tra: các đối tượng thuộc lớp RuntimeException và các lớp con của nó.
Trình biên dịch không quan tâm ai truyên bố ném, ai ném, có ai bắt được không. Tất cả nhiệm vụ thuộc về người lập trình.

Xử lý ngoại lệ như thế nào ?

Có 2 lựa chọn: xử lý tại chỗ / tránh né trách nhiệm.
Để xử lý tại chỗ khi một ngoại lệ xảy ra JAVA dùng TRY/CATCH/FINALLY

TRY/CATCH/FINALLY hoạt động như thế nào ?

Cú pháp:

try {
// Khối code có thể phát sinh ngoại lệ
}
catch ( typeException namException) {
// phương án xử lý ngoại lệ có kiểu đã được định nghĩa ném ra từ trong khối try
}
finally {
// phương án kết thúc chương trình dù bất cứ trường hợp nào xảy ra
}

Khối TRY bắt buộc phải có. Theo sau khối TRY phải có một hoặc nhiều khối CATCH hoặc một khối FINALLY.
Các khối CATCH phải được tổ chức sắp xếp theo thứ tự các kiểu từ lớp con đến lớp cha.

Mục đích sử dụng của các khối TRY/CATCH là để xử lý các tình huống bất thường chứ không phải để khắc phục lỗi trong mã của lập trình viên.

Tât cả các lỗi run-time phải được phát hiện và sửa chữa ngay trong thời gian phát triển và kiểm thử phần mềm !!!

Leave a reply:

Your email address will not be published.

Site Footer

Sliding Sidebar

Facebook