Exception handling là gì?

Phrase Programming
Xử lý ngoại lệ

Xử lý ngoại lệ (exception handling) là phản hồi các ngoại lệ (exception) khi một chương trình máy tính chạy. Một ngoại lệ xảy ra khi một sự kiện không mong muốn xảy ra, yêu cầu xử lý đặc biệt. Ví dụ một người dùng cung cấp đầu vào (input) không hợp lệ, hoặc một phép chia cho số 0.

Xử lý ngoại lệ cố gắng xử lý những tình huống này một cách khéo léo để một chương trình (hoặc toàn bộ hệ thống) không bị sập. Việc xử lý ngoại lệ có thể được thực hiện ở cả phần mềm (như một phần của chính chương trình) và phần cứng (sử dụng các cơ chế được tích hợp sẵn trong thiết kế của CPU).

Ví dụ về xử lý ngoại lệ trong JavaScript

try { 
  console.log(test); 
} catch (err) {
  console.log("Error encountered: " + err); 
  console.log("Continuing with the rest of our program…"); 
}

Ở đây, console.log (test) yêu cầu chương trình in giá trị của một biến có tên là "test" vào console. Tuy nhiên, chúng ta vẫn chưa định nghĩa biến này, vì vậy phương thức console.log tạo ra lỗi.

Thông thường, điều này sẽ khiến chương trình bị crash, nhưng ở đây chúng ta đã đính kèm code gây lỗi trong câu lệnh try-catch. Chương trình "cố gắng" chạy console.log (test) và nếu nó không lỗi, khối catch được bỏ qua. Nhưng nếu nó gây ra lỗi lỗi được "bắt" (caught) thay vì khiến chương trình bị crash, khối catch được thực thi. Chương trình của chúng ta tạo ra đầu ra (output):

Error encountered: ReferenceError: test is not defined 
Continuing with the rest of our program...
Learning English Everyday