Řešení potíží a ladění kódu pro vložení
Při vývoji řešení vložených analýz může dorazit na chyby. Když k tomu dojde, musíte zjistit, proč k chybě došlo.
Pomocí události error
můžete ladit řešení vložených analytických možností a lépe porozumět tomu, co způsobilo vaše chyby.
Pokud se zobrazí chyba, kterou neznáte, můžete kdykoli vyhledat nebo položit otázku na Stack Overflow.
Zjištění chyby, ke které došlo
Událost error
se aktivuje, když dojde k chybě. Událost můžete naslouchat pomocí element.on(...)
a pak nastavit obslužnou rutinu události.
report.on('error', (errorObject) => {
...
});
Další informace o zpracování událostí naleznete v tématu Zpracování událostí.
Událost error
vrátí objekt IError
:
interface IError {
message: string;
detailedMessage?: string;
errorCode?: string;
level?: TraceType;
technicalDetails?: ITechnicalDetails;
}
Když například vyprší platnost tokenu, zobrazí se následující objekt chyby:
{
"message": "TokenExpired",
"detailedMessage": "Access token has expired, resubmit with a new access token",
"errorCode": "403"
}
Informace o aktualizaci přístupového tokenu najdete v tématu Aktualizace přístupového tokenu.
Řešení problémů
Jakmile objekt IError
získáte, porovnejte ho v Řešení potíží s vloženou aplikací pomocí objektu IError tabulky a vyhledejte možné příčiny selhání.
Poznámka
Tabulka běžných chybpro uživatele Power BI (označovaná také jako vložení provaší organizace) a pro uživatele, kteří nejsou power BI (označuje se také jako vkládání pro vaše zákazníky).
Ladění v konzole prohlížeče
Aplikaci můžete také jednoduše ladit v konzole prohlížeče. Například po vytvoření instance pro vložení zadejte následující fragment kódu:
// 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);
});
Zachycení chyb rozhraní API
Většina klientských rozhraní API je
Pokud používáte vzor async
/await
, měli byste k zachycení potenciální chyby použít try
/catch
. Například:
try {
...
// Set a new access token
await report.setAccessToken(newAccessToken.token);
} catch (e) {
...
}
Pokud nepoužíváte vzor async
/await
, můžete pomocí funkce catch
zachytit potenciální chybu. Například:
// Set a new access token
report.setAccessToken(newAccessToken.token).catch(e => {
...
});