Để mang lại trải nghiệm tốt cho người dùng, mã của bạn phải xử lý lỗi một cách chính xác. Cung cấp cho người dùng các thông báo lỗi có thể xử lý kèm theo các bước khắc phục đang giải quyết sự cố.
Tài liệu này mô tả các lỗi có thể xảy ra với trình kết nối, cách lỗi thông báo hoạt động và cách xử lý đúng cách lỗi trình kết nối.
Thông tin: Để tìm hiểu thêm về cách xử lý các ngoại lệ trong JavaScript, hãy xem câu lệnh try...catch.
Các loại lỗi
Các loại và nguyên nhân gây ra lỗi mà người dùng có thể gặp phải khi sử dụng trình kết nối thường thuộc một trong ba loại sau:
Trình kết nối phải xử lý lỗi nội bộ và lỗi bên ngoài của trình kết nối nhà phát triển. Các lỗi này xảy ra do mã do nhà phát triển tạo ra.
Lỗi nội bộ của trình kết nối
Lỗi nội bộ của trình kết nối xảy ra trong quá trình thực thi trình kết nối. Ví dụ: nếu một
trình kết nối không thể phân tích cú pháp phản hồi API trong quá trình thực thi getData()
.
Những lỗi này phải được dự đoán và xử lý bằng cách giải thích thân thiện với người dùng
nếu có.
Để biết thêm thông tin về cách xử lý lỗi nội bộ của trình kết nối, xem Các phương pháp hay nhất để xử lý lỗi trình kết nối.
Lỗi trình kết nối bên ngoài
Lỗi bên ngoài của trình kết nối xảy ra sau khi thực thi trình kết nối. Ví dụ: khi một
Yêu cầu của getData()
đối với 3 trường chỉ trả về dữ liệu của 2 trường. Mặc dù
trình kết nối đã thực thi xong, nhưng trình kết nối không đáp ứng yêu cầu của Looker
Studio. Việc kiểm tra kỹ lưỡng có thể giúp ngăn chặn các lỗi này.
Lỗi bên ngoài của trình kết nối thường có thể được khắc phục bằng cách xem xét chi tiết lỗi (nếu ) và gỡ lỗi mã để xác định sự cố. Để biết thêm thông tin về gỡ lỗi trình kết nối, hãy xem phần Gỡ lỗi mã.
Lỗi Looker Studio
Lỗi Looker Studio là những lỗi không liên quan đến mã trình kết nối của bạn. Ví dụ: người dùng cố gắng sử dụng biểu đồ chuỗi thời gian có nguồn dữ liệu không có ngày/giờ.
Nếu lỗi không liên quan trực tiếp đến trình kết nối, thì bạn không cần làm gì cả để nhà phát triển trình kết nối thực hiện. Người dùng có thể tìm thêm trợ giúp bằng cách truy cập vào Trung tâm trợ giúp của Looker Studio.
Hiện thông báo lỗi
Hiện thông tin chi tiết về lỗi dựa trên trạng thái quản trị viên
Khi trình kết nối báo lỗi, Looker Studio sẽ hiển thị thông báo lỗi đó tuỳ thuộc vào trạng thái quản trị viên của người dùng.
- Nếu người dùng là người dùng quản trị thì họ sẽ thấy tất cả chi tiết. bao gồm thông báo lỗi, loại lỗi và dấu vết ngăn xếp.
- Nếu người dùng không phải là người dùng quản trị, họ sẽ chỉ thấy chi tiết nếu bao gồm cả thông báo thân thiện với người dùng. Để tìm hiểu thêm về việc hiển thị lỗi thông báo cho người dùng không phải quản trị viên sẽ thấy Lỗi ném cho người dùng.
Đưa ra lỗi mà người dùng gặp phải
Theo mặc định, chỉ quản trị viên trình kết nối mới xem được thông tin chi tiết về lỗi. Điều này giúp ngăn chặn vô tình tiết lộ thông tin nhạy cảm, chẳng hạn như khoá API trong ngăn xếp dấu vết. Để hiển thị thông báo lỗi cho người dùng không phải quản trị viên, hãy sử dụng newUserError() từ Dịch vụ Apps Script trong Looker Studio.
Ví dụ:
try {
// API request that can be malformed.
getDataFromAPI();
} catch (e) {
DataStudioApp.createCommunityConnector()
.newUserError()
.setDebugText('Error fetching data from API. Exception details: ' + e)
.setText('There was an error communicating with the service. Try again later, or file an issue if this error persists.')
.throwException();
}
Trong ví dụ này, setText()
đặt văn bản sẽ hiển thị với tất cả người dùng,
còn setDebugText()
đặt văn bản chỉ hiển thị cho người dùng quản trị.
Các phương pháp hay nhất để xử lý lỗi trình kết nối
Bạn nên cố gắng phát hiện và xử lý càng nhiều lỗi càng tốt trong thực thi mã trình kết nối của bạn. Ví dụ: một số thao tác phổ biến có thể gây ra lỗi hoặc trạng thái không mong muốn bao gồm:
- Lần tìm nạp URL không thành công (lỗi tạm thời, hết thời gian chờ)
- Không có dữ liệu cho khoảng thời gian được yêu cầu
- Không thể phân tích cú pháp hoặc định dạng dữ liệu của API
- Đã thu hồi mã thông báo uỷ quyền
Xử lý lỗi có thể khôi phục
Các điểm thực thi trình kết nối có thể không thành công nhưng có thể khôi phục được đã xử lý. Ví dụ: Nếu một yêu cầu API không thành công vì lý do không nghiêm trọng (chẳng hạn như tải máy chủ giảm), thì bạn nên thử lại trước khi báo lỗi.
Bắt và ném lỗi
Bạn nên phát hiện các lỗi không thể khôi phục và gửi lại. Lỗi gửi lại sẽ giúp người dùng hiểu lý do xảy ra lỗi. Nếu có thể khắc phục được vấn đề thì người bán phải cung cấp thông tin chi tiết về biện pháp khắc phục.
Xem phần gửi lỗi xảy ra với người dùng.
Ghi nhật ký lỗi vào Stackdriver
Sử dụng Stackdriver để ghi nhật ký lỗi và các thông báo khác. Điều này giúp tìm hiểu lỗi, vấn đề gỡ lỗi và phát hiện các ngoại lệ chưa được xử lý.
Để tìm hiểu thêm về tính năng Báo cáo lỗi Stackdriver, cách bật tính năng ghi nhật ký ngoại lệ cho tập lệnh và cách xác định người dùng an toàn cho mục đích gỡ lỗi. Sử dụng tính năng Ghi nhật ký Stackdriver.
ĐÃ NGỪNG HOẠT ĐỘNG: Hãy sử dụng tiền tố DS_USER:
cho các thông báo lỗi an toàn
Để cung cấp thông báo lỗi thân thiện với người dùng cho người dùng không phải quản trị viên, hãy bao gồm
Tiền tố DS_USER:
kèm theo thông báo lỗi. Tiền tố này được dùng để xác định mức độ an toàn
cho người dùng không phải quản trị viên và không có trong thông báo lỗi thực tế.
Các ví dụ sau đây bao gồm trường hợp thông báo lỗi sẽ hiển thị cho người dùng không phải quản trị viên khác trong đó thông báo lỗi sẽ chỉ hiển thị với quản trị viên người dùng: