Solucionar problemas e depurar seu código de inserção
Ao desenvolver uma solução de análise inserida, você pode encontrar erros. Quando isso acontece, você precisa descobrir por que o erro ocorreu.
Use o evento error
para depurar sua solução de análise inserida e entender melhor o que causou seus erros.
Se houver um erro que você não sabe como lidar, sempre poderá pesquisar ou fazer uma pergunta em Stack Overflow.
Localizar o erro que ocorreu
Um evento error
é acionado quando ocorre um erro. Você pode ouvir o evento usando element.on(...)
e, em seguida, definir um manipulador de eventos.
report.on('error', (errorObject) => {
...
});
Para obter mais informações sobre como lidar com eventos, consulte Como lidar com eventos.
O evento error
retorna um objeto IError
:
interface IError {
message: string;
detailedMessage?: string;
errorCode?: string;
level?: TraceType;
technicalDetails?: ITechnicalDetails;
}
Por exemplo, quando o token expirar, você receberá o seguinte objeto de erro:
{
"message": "TokenExpired",
"detailedMessage": "Access token has expired, resubmit with a new access token",
"errorCode": "403"
}
Para obter informações sobre como atualizar o token de acesso, consulte Atualizar o token de acesso.
Solucionando problemas
Depois de adquirir o objeto IError
, compare pesquisá-lo no Solucionar problemas do aplicativo inserido com o objeto IError tabela e encontrar as possíveis causas da falha.
Nota
Há uma de tabela de erros comuns para usuários do Power BI (também conhecido como inserção para sua organização) e para usuários que não são do Power BI (também conhecidos como inserção para seus clientes).
Depurar no console do navegador
Você também pode simplesmente depurar seu aplicativo no console do navegador. Por exemplo, insira o seguinte snippet de código depois de ter uma instância de inserção:
// 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);
});
Capturar os erros de APIs
A maioria das APIs do cliente são
Se você estiver usando o padrão async
/await
, deverá usar try
/catch
para detectar possíveis erros. Por exemplo:
try {
...
// Set a new access token
await report.setAccessToken(newAccessToken.token);
} catch (e) {
...
}
Se você não estiver usando o padrão async
/await
, poderá usar a função catch
para detectar possíveis erros. Por exemplo:
// Set a new access token
report.setAccessToken(newAccessToken.token).catch(e => {
...
});