Memecahkan masalah dan men-debug kode penyematan Anda
Saat mengembangkan solusi analitik yang disematkan, Anda mungkin mengalami kesalahan. Ketika ini terjadi, Anda perlu mencari tahu mengapa kesalahan terjadi.
Gunakan peristiwa untuk error
men-debug solusi analitik yang disematkan dan lebih memahami apa yang menyebabkan kesalahan Anda.
Jika ada kesalahan yang tidak Anda ketahui cara menanganinya, Anda selalu dapat mencari atau mengajukan pertanyaan di Stack Overflow.
Temukan kesalahan apa yang terjadi
Peristiwa error
terjadi saat terjadi kesalahan. Anda dapat mendengarkan acara dengan menggunakan element.on(...)
, lalu mengatur penanganan aktivitas.
report.on('error', (errorObject) => {
...
});
Untuk informasi selengkapnya tentang menangani peristiwa, lihat Cara menangani peristiwa.
Peristiwa error
mengembalikan IError
objek:
interface IError {
message: string;
detailedMessage?: string;
errorCode?: string;
level?: TraceType;
technicalDetails?: ITechnicalDetails;
}
Misalnya, ketika token kedaluwarsa, Anda akan mendapatkan objek kesalahan berikut:
{
"message": "TokenExpired",
"detailedMessage": "Access token has expired, resubmit with a new access token",
"errorCode": "403"
}
Untuk informasi tentang me-refresh token akses, lihat Merefresh token akses.
Pemecahan Masalah
Setelah Anda memperoleh IError
objek, bandingkan cari di Memecahkan masalah aplikasi tersemat Anda dengan tabel objek IError , dan temukan kemungkinan penyebab kegagalan.
Catatan
Ada tabel kesalahan umumuntuk pengguna Power BI (juga dikenal sebagai disematkan untuk organisasi Anda), dan untuk pengguna non-Power BI (juga dikenal sebagai disematkan untuk pelanggan Anda).
Debug di konsol browser
Anda juga dapat men-debug aplikasi di konsol browser. Misalnya, masukkan cuplikan kode berikut setelah Anda memiliki instans semat:
// Add a listener to 'error' events
report.on('error', (errorObject) => {
const err = errorObject.detail;
// Print the error to console
console.log(`Error occurred: ${err.message}. Detailed message: ${err.detailedMessage}`);
console.log(err);
});
Menangkap kesalahan API
Sebagian besar API Klien adalah fungsi asinkron yang mengembalikan Promise.
Jika Anda menggunakan pola , async
/await
Anda harus menggunakan try
/catch
untuk menangkap potensi kesalahan. Contohnya:
try {
...
// Set a new access token
await report.setAccessToken(newAccessToken.token);
} catch (e) {
...
}
Jika Anda tidak menggunakan async
/await
pola , Anda dapat menggunakan catch
fungsi untuk menangkap potensi kesalahan. Contohnya:
// Set a new access token
report.setAccessToken(newAccessToken.token).catch(e => {
...
});