Aracılığıyla paylaş


Ekleme kodunuzun sorunlarını giderme ve hatalarını ayıklama

Ekli analiz çözümü geliştirirken hatalarla karşılaşabilirsiniz. Bu durumda, hatanın neden oluştuğuna karar vermeniz gerekir.

error Ekli analiz çözümünüzün hatalarını ayıklamak ve hatalarınıza neyin neden olduğunu daha iyi anlamak için olayı kullanın.

Nasıl işleyebileceğinizi bilmediğiniz bir hata varsa Stack Overflow'da istediğiniz zaman arama yapabilir veya soru sorabilirsiniz.

Hangi hatanın oluştuğuna bakın

Bir error hata oluştuğunda bir olay tetikler. kullanarak element.on(...)olayı dinleyebilir ve ardından bir olay işleyicisi ayarlayabilirsiniz.

report.on('error', (errorObject) => {
    ...
});

Olayları işleme hakkında daha fazla bilgi için bkz. Olayları işleme.

Olay error bir IError nesne döndürür:

interface IError {
    message: string;
    detailedMessage?: string;
    errorCode?: string;
    level?: TraceType;
    technicalDetails?: ITechnicalDetails;
}

Örneğin, belirtecin süresi dolduğunda aşağıdaki hata nesnesini alırsınız:

{
    "message": "TokenExpired",
    "detailedMessage": "Access token has expired, resubmit with a new access token",
    "errorCode": "403"
}

Erişim belirtecini yenileme hakkında bilgi için bkz. Erişim belirtecini yenileme.

Sorun giderme

Nesneyi aldıktan IError sonra, IError nesne tablosuyla eklenmiş uygulamanızın sorunlarını giderme bölümünde aramayı karşılaştırın ve hatanın olası nedenlerini bulun.

Not

Power BI kullanıcıları (kuruluşunuz için ekleme olarak da bilinir) ve Power BI kullanıcısı olmayanlar (müşterileriniz için ekleme olarak da bilinir) için yaygın hatalar tablosu vardır.

Tarayıcının konsolunda hata ayıklama

Ayrıca tarayıcının konsolunda uygulamanızın hatalarını ayıklamanız da yeterlidir. Örneğin, ekleme örneğine sahip olduktan sonra aşağıdaki kod parçacığını girin:

// 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 hatalarını yakalama

İstemci API'lerinin çoğu Promise döndüren zaman uyumsuz işlevlerdir.

Deseni async/await kullanıyorsanız, olası hatayı yakalamak için kullanmanız try/catch gerekir. Örnek:

try {
    ...

    // Set a new access token
    await report.setAccessToken(newAccessToken.token);
} catch (e) {
    ...
}

Deseni async/await kullanmıyorsanız, olası hatayı yakalamak için işlevini kullanabilirsiniz.catch Örnek:

// Set a new access token
report.setAccessToken(newAccessToken.token).catch(e => {
    ...
});

Sonraki adımlar