#node.js #crash #electron #google-chrome-devtools #libp2p
#node.js #сбой #электронный #google-chrome-devtools #libp2p
Вопрос:
Я пытаюсь реализовать libp2p внутри приложения electron, в котором (очевидно) включена поддержка узлов.
Я попытался перехватить ошибки с помощью следующего кода:
const errorHandle = `
window.onerror = (err) => {
console.log(err);
};
process.on("uncaughtException", function (err) {
console.log(err);
});
process.on("unhandledRejection", function (err) {
console.log(err);
});
console.log("Injected startup code")`
await mainWindow.loadFile("./public/index.html");
await mainWindow.webContents.executeJavaScript(errorHandle);
Однако, если я намеренно или случайно выдаю ошибку, приложение выходит из строя и перезагружается, и я не вижу ошибки, потому что chrome devtools очищает свою консоль и выводит сообщение «Devtools disconnected».
2 примера ошибок:
console.error("test");
node.connect("INVALID_ADDRESS");
Как я могу правильно обрабатывать ошибки, чтобы electron (или node) не зависал?
Ответ №1:
Как оказалось, ошибка была обработана правильно, однако событие было связано с формой, которая по умолчанию обновляет страницу при отправке. Мне пришлось отменить событие по умолчанию,:
<form onsubmit="return false" on:submit={submit}></form>