From cc668931e3f2031f65fd77b5b773b2d9a0e55ed0 Mon Sep 17 00:00:00 2001 From: Soopyboo32 <49228220+Soopyboo32@users.noreply.github.com> Date: Sat, 6 Nov 2021 20:27:52 +0800 Subject: Error handling for loading modules --- featureClass/featureManager.js | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) (limited to 'featureClass') diff --git a/featureClass/featureManager.js b/featureClass/featureManager.js index 92b9cd8..99f5483 100644 --- a/featureClass/featureManager.js +++ b/featureClass/featureManager.js @@ -9,6 +9,7 @@ import { registerForge as registerForgeBase, unregisterForge as unregisterForgeB class FeatureManager { constructor(){ + this.messagePrefix = "&6[SOOPY V2]&7 " this.enabled = true //make triggers work with this context this.features = {}; @@ -335,15 +336,21 @@ class FeatureManager { loadFeature(feature){ //run in seperate thread so onenable can do network requests if(this.features[feature]) return - let LoadedFeature = require("../features/" + feature + "/index.js") - - this.features[feature] = LoadedFeature - - LoadedFeature.class.setId(feature) - - LoadedFeature.class._onEnable(this) - - logger.logMessage("Loaded feature " + feature, 3) + try{ + let LoadedFeature = require("../features/" + feature + "/index.js") + + this.features[feature] = LoadedFeature + + LoadedFeature.class.setId(feature) + + LoadedFeature.class._onEnable(this) + + logger.logMessage("Loaded feature " + feature, 3) + }catch(e){ + logger.logMessage("Error loading feature " + feature, 1) + console.log(JSON.stringify(e, undefined, 2)) + ChatLib.chat(this.messagePrefix + "Error loading feature " + feature) + } return this } -- cgit