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 error
evento 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 no Stack Overflow.
Localizar o erro que ocorreu
Um error
evento é 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 error
evento retorna um IError
objeto:
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.
Solução de problemas
Depois de adquirir o IError
objeto, compare a pesquisa na solução de problemas do aplicativo inserido com a tabela de objetos IError e localize as possíveis causas da falha.
Observação
Há uma tabela de erros comumpara usuários do Power BI (também conhecida como inserção para sua organização) e para usuários que não são do Power BI (também conhecido 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 funções assíncronas que retornam uma Promessa.
Se você estiver usando o async
/await
padrão, deverá usar try
/catch
para capturar um possível erro. Por exemplo:
try {
...
// Set a new access token
await report.setAccessToken(newAccessToken.token);
} catch (e) {
...
}
Se você não estiver usando o async
/await
padrão, poderá usar a catch
função para capturar um possível erro. Por exemplo:
// Set a new access token
report.setAccessToken(newAccessToken.token).catch(e => {
...
});