diff --git a/src/lib/WebVM.svelte b/src/lib/WebVM.svelte index 2783289..5ec417e 100644 --- a/src/lib/WebVM.svelte +++ b/src/lib/WebVM.svelte @@ -7,7 +7,7 @@ import '@fortawesome/fontawesome-free/css/all.min.css' import { networkInterface, startLogin } from '$lib/network.js' import { cpuActivity, diskActivity, cpuPercentage, diskLatency } from '$lib/activities.js' - import { introMessage, errorMessage } from '$lib/messages.js' + import { introMessage, errorMessage, unexpectedErrorMessage } from '$lib/messages.js' export let configObj = null; export let processCallback = null; @@ -156,7 +156,16 @@ consoleDiv.addEventListener("drop", preventDefaults, false); if(configObj.printIntro) printMessage(introMessage); - initCheerpX(); + try + { + await initCheerpX(); + } + catch(e) + { + printMessage(unexpectedErrorMessage); + printMessage([e.toString()]); + return; + } } function handleActivateConsole(vt) { diff --git a/src/lib/messages.js b/src/lib/messages.js index 53ef511..362d82d 100644 --- a/src/lib/messages.js +++ b/src/lib/messages.js @@ -38,3 +38,13 @@ export const errorMessage = [ "CheerpX internal error message is:", "" ]; +export const unexpectedErrorMessage = [ + color + "WebVM encountered an unexpected error" + normal, + "", + "Check the DevTools console for further information", + "", + "Please consider reporting a bug!", + "", + "CheerpX internal error message is:", + "" +];