Try Catch trong App Script

Khi bạn đạt trên trình viết code xịn sò, bạn cần nắm rõ Try Catch trong App Script để tạo ứng dụng chuyên nghiệp

  1. Try Catch trong App Script là gì ?
  2. Cú pháp của try...catch trong Apps Script
  3. Ví dụ thực tế về try catch
  4. Lý do sử dụng try...catch
  5. Mở rộng với finally trong try catch

1. Try Catch trong App Script là gì ?

Try...catch trong Google Apps Script là một cơ chế xử lý lỗi. Bạn sử dụng try để bao bọc mã có thể gây lỗi, và nếu lỗi xảy ra, phần catch sẽ xử lý lỗi đó mà không làm dừng chương trình. Điều này giúp ứng dụng của bạn ổn định và dễ gỡ lỗi hơn.

Try catch apps script

2. Cú pháp của try...catch trong Apps Script

Cú pháp của try...catch trong Apps Script giống như trong JavaScript.

Dưới đây là một ví dụ đơn giản về cách sử dụng try...catch:
Cấu trúc try...catch:

  try {
    // Code có thể gây lỗi
    var value = someUndefinedFunction(); // Ví dụ, hàm không tồn tại
    Logger.log(value);
  } catch (e) {
    // Xử lý lỗi
    Logger.log("Đã xảy ra lỗi: " + e.message);
  }
}

Giải thích:

    try: Phần này chứa mã mà bạn muốn thử thực thi. Nếu có lỗi xảy ra trong khối này, chương trình sẽ nhảy tới phần catch.
    catch (e): Nếu có lỗi, đối tượng lỗi (thường là một lỗi JavaScript) sẽ được truyền vào biến e. Bạn có thể sử dụng e.message để lấy thông báo lỗi chi tiết.
    Logger.log(): Được sử dụng trong Apps Script để ghi lại thông tin vào log, giúp bạn dễ dàng theo dõi lỗi trong script.

3. Ví dụ thực tế về try catch

Giả sử bạn muốn truy cập vào một bảng tính Google Sheets và lấy dữ liệu từ một ô có thể không tồn tại. Bạn có thể sử dụng try...catch để tránh lỗi dừng script.

function readSpreadsheet() {
  try {
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
    var value = sheet.getRange("A1").getValue(); // Lấy giá trị từ ô A1
    Logger.log(value);
  } catch (e) {
    Logger.log("Lỗi xảy ra khi đọc bảng tính: " + e.message);
  }
}

Trong ví dụ trên: trường hợp việc Sheet1 không tồn tại là 1 vấn để có thể xảy ra trong thực tế, vì có thể bạn xóa nó đi hay đổi tên.
    Nếu có lỗi (ví dụ, nếu không tìm thấy sheet Sheet1), lỗi sẽ được bắt và thông báo lỗi sẽ được ghi vào log thay vì làm script dừng lại.

4. Lý do sử dụng try...catch

    Xử lý lỗi hiệu quả: Bạn có thể xác định các tình huống có thể gây lỗi và xử lý chúng một cách thông minh mà không làm gián đoạn toàn bộ quá trình.
    Giảm thiểu sự cố: Giúp ứng dụng của bạn không bị dừng lại đột ngột khi gặp lỗi, mà thay vào đó có thể thực hiện các hành động thay thế (ví dụ: ghi lại lỗi, gửi thông báo).
    Gỡ lỗi dễ dàng hơn: Bạn có thể ghi lại thông tin lỗi để dễ dàng tìm ra nguyên nhân và khắc phục.

5. Mở rộng với finally trong try catch

Nếu bạn muốn thực hiện một hành động nào đó dù có lỗi hay không, bạn có thể sử dụng phần finally sau catch. Phần này sẽ được thực thi bất kể lỗi có xảy ra hay không.


function example() {
  try {
    var result = someFunction(); // Nếu có lỗi, chương trình sẽ nhảy vào catch
    Logger.log(result);
  } catch (e) {
    Logger.log("Lỗi: " + e.message);
  } finally {
    Logger.log("Đây là phần mã trong finally, luôn thực thi.");
  }
}


finally sẽ được thực thi bất kể có lỗi hay không, giúp bạn thực hiện các hành động cần thiết như đóng kết nối, giải phóng tài nguyên, v.v.

Tìm kiếm:

Bài viết liên quan:

Khi bạn đạt trên trình viết code xịn sò, bạn cần nắm rõ Try Catch trong App Script để tạo ứng dụng chuyên nghiệp