throw in async function

prominenter

New member
Hi@all

Ich habe hier ein Problemmit der Fehlerbehandlung
Innerhalb der Funktion funktioniert throw nicht

Code:
testErrors();
//////////////////////////////////////////////////
// Errorbehandlung
//////////////////////////////////////////////////
function testErrors(){

    window.addEventListener('error', (event) => {
        const { message, filename, lineno, colno, error } = event;
        //console.log('Error:', message, filename, lineno, colno, error.stack);
        let file = filename.substring(filename.lastIndexOf('/')+1);
        let err;
        err =   '<div class="txt err"><b>Ein Fehler ist aufgetreten !</b><br><br>'+
                'Hinweis an den Entwickler zwecks Ermittlung der Ursache:<br><b>' + message +'</b>'+    
                '<br>Datei: -> <b>' + file + '</b> -> Zeile: -> <b>' + lineno + '</b><br>'+
                '</div>';
        setTimeout(function(){

            document.getElementById('text01').innerHTML = err;
        },100);
    });
};
//////////////////////////////////////////////////
// ENDE Errorbehandlung
//////////////////////////////////////////////////
show();

async function show(){

    throw new Error('Fehler'); //funktioniert nicht

}
throw new Error('Fehler'); //funktioniert

Kann wer helfen bitte.
Thx@all
 

prominenter

New member
Hi@all

In der console wird beides mal der Fehler ausgegeben.
Nur innerhalb der Funktion show() wird die HTML Ausgabe nicht erzeugt.
Ruf ich throw direkt im Script auf ist alles ok.

D.h. throw in der Funktion show() wird nicht an den eventlistener übergeben

Thx@all
 
Oben