电子句柄优雅地崩溃
Electron handle crashes gracefully
我正在尝试在电子应用程序中实现 libp2p,该应用程序(显然)打开了节点支持。
我尝试使用以下代码捕获错误:
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 已断开连接”消息。
2 个错误抛出示例:
console.error("test");
node.connect("INVALID_ADDRESS");
如何正确处理错误,使电子(或节点)不崩溃?
事实证明,错误已得到正确处理,但事件已连接到表单,如果提交,该表单默认会刷新页面。我不得不通过以下方式取消默认事件:
<form onsubmit="return false" on:submit={submit}></form>
我正在尝试在电子应用程序中实现 libp2p,该应用程序(显然)打开了节点支持。
我尝试使用以下代码捕获错误:
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 已断开连接”消息。
2 个错误抛出示例:
console.error("test");
node.connect("INVALID_ADDRESS");
如何正确处理错误,使电子(或节点)不崩溃?
事实证明,错误已得到正确处理,但事件已连接到表单,如果提交,该表单默认会刷新页面。我不得不通过以下方式取消默认事件:
<form onsubmit="return false" on:submit={submit}></form>