2021-12-09 16:25:14 +00:00
|
|
|
const { app } = require("electron");
|
|
|
|
|
|
|
|
exports.init = () => {
|
2021-12-11 19:51:36 +00:00
|
|
|
process.on('uncaughtException', error => {
|
2021-12-09 16:25:14 +00:00
|
|
|
const stack = error.stack ? error.stack : String(error);
|
2021-12-11 19:51:36 +00:00
|
|
|
const message = `Uncaught exception:\n${stack}`;
|
2021-12-09 16:25:14 +00:00
|
|
|
console.warn(message);
|
|
|
|
|
2021-12-11 19:51:36 +00:00
|
|
|
// _electron.dialog.showErrorBox('A JavaScript error occurred in the main process', message);
|
|
|
|
});
|
|
|
|
|
|
|
|
log('ErrorHandler', 'Inited');
|
2021-12-09 16:25:14 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
exports.fatal = (err) => {
|
|
|
|
const options = {
|
|
|
|
type: 'error',
|
|
|
|
message: 'A fatal Javascript error occured',
|
|
|
|
detail: err && err.stack ? err.stack : String(err)
|
|
|
|
};
|
|
|
|
|
|
|
|
const callback = _ => app.quit();
|
|
|
|
|
|
|
|
const electronMajor = parseInt(process.versions.electron.split('.')[0]);
|
|
|
|
|
|
|
|
if (electronMajor >= 6) {
|
|
|
|
_electron.dialog.showMessageBox(null, options).then(callback);
|
|
|
|
} else {
|
|
|
|
_electron.dialog.showMessageBox(options, callback);
|
|
|
|
}
|
|
|
|
|
|
|
|
log('ErrorHandler', 'Fatal:', err);
|
|
|
|
};
|
|
|
|
|
|
|
|
exports.handled = (err) => {
|
|
|
|
log('ErrorHandler', 'Handled:', err);
|
|
|
|
};
|