【问题标题】:Electron handle crashes gracefully电子手柄优雅地崩溃
【发布时间】:2020-09-18 15:26:00
【问题描述】:

我正在尝试在电子应用程序中实现 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");

如何正确处理错误,让电子(或节点)不会崩溃?

【问题讨论】:

    标签: node.js crash electron google-chrome-devtools libp2p


    【解决方案1】:

    事实证明,错误得到了正确处理,但是该事件已连接到一个表单,如果提交,默认情况下会刷新页面。我必须通过以下方式取消默认事件:

    <form onsubmit="return false" on:submit={submit}></form>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-30
      • 2015-12-15
      • 1970-01-01
      • 2018-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-28
      相关资源
      最近更新 更多