Hướng dẫn sử dụng try ... catch trong Javascript

Giới thiệu

Lỗi (bug) luôn là những thứ gây mất thời gian và là nguyên nhân đau đầu của nhiều ae Developer. Nguyên nhân của lỗi đến từ rất nhiều lý do như network failed, viết code sai cú pháp, giá trị truyền vào sai kiểu, không khai báo biến trước khi sử dụng, bala bala... Nhưng dù là nguyên nhân nào đi nữa thì điều quan trọng khi gặp lỗi là làm thế nào để có thể tìm ra nguyên nhân nhanh nhất

Hiểu được điều đó nên hầu hết các ngôn ngữ đều cung cấp những phương thức giúp chúng ta kiểm soát lỗi. Cái mà tôi muốn nói đến ở đây là try...catchnó giống nhau ở hầu hết các ngôn ngữ, Javascript cũng vậy. Mục tiêu của try catch là kiểm soát được những lỗi nằm ngoài tầm kiểm soát code của bạn.

Cách sử dụng vô cùng đơn giản như sau

try {
    // Main logic
} catch(error) {
   // When have any errors
}

Bây giờ chúng ta sẽ thử trong try block với một vài dòng code lỗi. Khi đó, bất kỳ lỗi nào trong try block nó chạy vào catch block. Tham số error của function catch() là một object chứa đầy đủ thông tin về lỗi mà bạn đang gặp phải

ry {
    let car;
    car.value;
} catch (error) {
    console.log( 'Some error has occured\n' + error);
}


// Some error has occured
//TypeError: Cannot read property 'value' of undefined

Chúng ta cũng có thể sử dụng name và thuộc tính message của object lỗi để xem chi tiết

try {
  let car;
  car.value;
} catch (error) {
  console.log('Error name: ' + error.name);
  console.log('Error message: ' + error.message);
}

//Error name: TypeError
//Error message: Cannot read property 'value' of undefined

Throw lỗi

Trường hợp trong try block các bạn đã kiểm tra được lỗi với if else rồi nhưng vẫn muốn đẩy thông báo xuống catch để xử lý thì chúng ta có thể dùng throw() như sau

try {
   throw new Error('This is a custom error');
} catch (error) {
   console.log(error);
}

//Error: This is a custom error

Nested try…catch block

Trong một số trường hợp, bạn muốn sử dụng try ... catch lồng nhau bạn có thể sử dụng như sau

try {
  try {
    throw new Error('some error');
  } catch (error) {
    console.log('inner catch block - ' + error);
  }
} catch (error) {
  console.log('outer catch block - ' + error);
}

//inner catch block - Error: some error

Finally block

Là phần chạy cuối cùng kể có chương trình của bạn có lỗi hay không

try {
  console.log('try block executes')
} catch (error) {
  console.log('catch block - '+error);
} finally {
  console.log('finally block executes');
}

// try block executes
// finally block executes

Tổng kết

Hy vọng qua bài này các bạn hiểu rõ hơn về cách sử dụng Try Catch trong Javascript và biết ứng dụng vào công việc hàng ngày của mình.

Thanks

Khôi Phạm
Khôi Phạm

Share is way to learn

SUNTECH VIỆT NAM   Đăng ký để nhận thông báo mới nhất