Mengesampingkan pesan kesalahan default
Anda bisa menyembunyikan pesan kesalahan default analitik Power BI yang disematkan pada laporan, dan sebaliknya memperlihatkan pesan kesalahan kustom yang sesuai dengan desain aplikasi Anda.
Misalnya, Anda dapat mengganti dialog kesalahan default ini:
Dengan dialog kesalahan kustom ini:
Cara mengambil alih kesalahan
Untuk menggunakan pesan kesalahan kustom, pertama-tama sembunyikan pesan kesalahan analitik tersemat Power BI default dengan mengatur properti powerbi.embed(element, config)
ini juga mencakup pengaturan dan opsi lainnya. Untuk informasi selengkapnya, lihat Mengonfigurasi pengaturan laporan.
let config = {
type: 'report',
tokenType: models.TokenType.Embed,
accessToken: accessToken,
embedUrl: embedUrl,
id: embedReportId,
permissions: permissions,
settings: {
hideErrors: true
}
};
Saat Anda menyembunyikan pesan kesalahan default, dialog kesalahan dan pesan tidak lagi muncul jika terjadi kesalahan. Agar pengguna aplikasi Anda mendapatkan respons yang konsisten dan bermanfaat saat kesalahan terjadi, Anda bertanggung jawab untuk menangani peristiwa kesalahan.
Untuk menangani kesalahan, pertama-tama dapatkan kesalahan dengan mendengarkan peristiwa error
:
report.off("error");
report.on("error", function(event) {
// Handle errors
});
Properti level
pada antarmuka IError memungkinkan Anda menentukan jenis kesalahan mana yang akan ditangani:
interface IError {
message: string;
detailedMessage?: string;
errorCode?: string;
level?: TraceType;
technicalDetails?: ITechnicalDetails;
}
enum TraceType {
Information = 0,
Verbose = 1,
Warning = 2,
Error = 3,
ExpectedError = 4,
UnexpectedError = 5,
Fatal = 6,
}
Fatal
kesalahan adalah jenis kesalahan yang paling serius, karena membuat laporan tidak responsif. Pastikan untuk menangani kesalahan Fatal
untuk mencegah pengguna akhir menghadapi laporan yang tidak responsif atau rusak tanpa pesan kesalahan.
Contoh
Contoh kode berikut menunjukkan bagaimana Anda dapat mengambil alih kesalahan dengan mendengarkan dan menangani peristiwa error
. Contoh tidak menampilkan fungsi newAccessToken
atau error.detailedMessage
. Terapkan fungsi Anda sendiri jika ditunjukkan.
// Embed the loadConfiguration that hides the default errors.
let config = {
type: 'report',
tokenType: models.TokenType.Embed,
accessToken: accessToken,
embedUrl: embedUrl,
id: embedReportId,
permissions: permissions,
settings: {
hideErrors: true
}
};
// Get a reference to the embedded report HTML element.
let embedContainer = $('#embedContainer')[0];
// Embed the report and display it within the div container.
let report = powerbi.embed(embedContainer, config);
// Set report.off to remove any pre-existing error event handler.
report.off("error");
// Set report.on to add the new error event handler.
report.on("error", function(event) {
const error = event.detail;
// If the error level isn't Fatal, log the error and continue.
if (error.level !== models.TraceType.Fatal) {
console.error(error);
return;
}
// If the Fatal error is TokenExpired, refresh the token.
if (error.message === models.CommonErrorCode.TokenExpired) {
// Implement your own function here.
let newAccessToken = refreshToken();
// Set the new access token.
report.setAccessToken(newAccessToken);
} else {
// If the error isn't TokenExpired, show the custom
// dialog with detailed error message in the iframe.
// Implement your own function here.
showError(error.detailedMessage);
}
});
Konten terkait
- Mengonfigurasi pengaturan laporan
- Memecahkan masalah aplikasi yang disematkan
- Menggunakan ID korelasi Power BI