Im Hauptprozess meiner Electron App versuche ich, eine Ausnahme zu behandeln, die beim Erstellen einer Datei ausgelöst wird, die bereits existiert. Meine catch-Klausel wird jedoch nie eingegeben, und die Ausnahme wird an den Benutzer gespammt. Was mache ich falsch?Keine Ausnahme von fs.createWriteStream()
let file;
try {
// this line throws *uncaught* exception if file exists - why???
file = fs.createWriteStream('/path/to/existing/file', {flags: 'wx'});
}
catch (err) {
// never gets here - why???
}
'createWriteStream' keine Ausnahme werfen, es * einen Fehler an seinen * asynchronen Rückruf gibt. – Bergi
Im Gegensatz zu einigen anderen 'fs'-Methoden akzeptiert' createWriteStream' keinen Rückruf. –
Ja, richtig, es gibt "Fehler" -Ereignisse aus, die Sie mit einem Callback behandeln müssen (und scheinbar, wenn keine Handler registriert sind, wird eine globale Ausnahme asynchron ausgelöst). – Bergi