포함 코드 문제 해결 및 디버그
포함된 분석 솔루션을 개발할 때 오류가 발생할 수 있습니다. 이 경우 오류가 발생한 이유를 파악해야 합니다.
error
이벤트를 사용하여 포함된 분석 솔루션을 디버그하고 오류의 원인을 더 잘 이해할 수 있습니다.
처리 방법을 모르는 오류가 있으면 언제든지 Stack Overflow검색하거나 질문할 수 있습니다.
발생한 오류 찾기
오류가 발생하면 error
이벤트가 발생합니다.
element.on(...)
사용하여 이벤트를 수신 대기한 다음 이벤트 처리기를 설정할 수 있습니다.
report.on('error', (errorObject) => {
...
});
이벤트 처리에 대한 자세한 내용은 이벤트처리하는 방법을 참조하세요.
error
이벤트는 IError
개체를 반환합니다.
interface IError {
message: string;
detailedMessage?: string;
errorCode?: string;
level?: TraceType;
technicalDetails?: ITechnicalDetails;
}
예를 들어 토큰이 만료되면 다음 오류 개체가 표시됩니다.
{
"message": "TokenExpired",
"detailedMessage": "Access token has expired, resubmit with a new access token",
"errorCode": "403"
}
액세스 토큰을 새로 고치는 방법에 대한 자세한 내용은 액세스 토큰새로 고침을 참조하세요.
문제 해결
IError
개체를 획득한 후 IError 개체 테이블과 포함된 애플리케이션 문제 해결에서 조회를 비교하고 오류의 가능한 원인을 찾습니다.
메모
Power BI 사용자
브라우저의 콘솔에서 디버그
브라우저 콘솔에서 앱을 디버그하기만 하면 됩니다. 예를 들어 embed 인스턴스가 있으면 다음 코드 조각을 입력합니다.
// 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);
});
API 오류 catch
대부분의 클라이언트 API는 Promise반환하는 비동기 함수입니다.
async
/
await
패턴을 사용하는 경우 try
/catch
사용하여 잠재적인 오류를 catch해야 합니다. 예를 들어:
try {
...
// Set a new access token
await report.setAccessToken(newAccessToken.token);
} catch (e) {
...
}
async
/
await
패턴을 사용하지 않는 경우 catch
함수를 사용하여 잠재적인 오류를 catch할 수 있습니다. 예를 들어:
// Set a new access token
report.setAccessToken(newAccessToken.token).catch(e => {
...
});
관련 콘텐츠
- 포함된 애플리케이션 문제 해결
- 이벤트 처리하는 방법
- 액세스 토큰 새로 고침
- 스택 오버플로