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

Tümleşik analiz çözümü geliştirirken hatalarla karşılaşabilirsiniz. Böyle bir durumda, hatanın neden oluştuğuna dikkat etmeniz gerekir.

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

Nasıl işleneceğini bilmediğiniz bir hata varsa, Stack Overflowüzerinde istediğiniz zaman arama yapabilir veya soru sorabilirsiniz.

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

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

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

Olayları işleme hakkında daha fazla bilgi için olayları işleme bölümüne bakın.

error olayı bir IError nesnesi 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

IError nesnesini aldıktan sonra, ekli uygulamanızıN sorunlarını giderme IError nesnesi tablosunda arayın ve hatanın olası nedenlerini bulun.

Not

Power BI kullanıcıları (kuruluşunuziçin ekleme olarak da bilinir) içinyaygın hatalar tablosu ve Power BI kullanıcısı olmayan kullanıcılar için (müşterileriniz içinekleme olarak da bilinir).

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ğiniz 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, Promisedöndüren zaman uyumsuz işlevleri .

async / await desenini kullanıyorsanız olası hatayı yakalamak için try/catch kullanmalısınız. Mesela:

try {
    ...

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

async / await desenini kullanmıyorsanız olası hatayı yakalamak için catch işlevini kullanabilirsiniz. Mesela:

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