diff --git a/mirai-console/backend/mirai-console/src/internal/plugin/JvmPluginClassLoader.kt b/mirai-console/backend/mirai-console/src/internal/plugin/JvmPluginClassLoader.kt
index bc40dc9fd..b1d2ddc3d 100644
--- a/mirai-console/backend/mirai-console/src/internal/plugin/JvmPluginClassLoader.kt
+++ b/mirai-console/backend/mirai-console/src/internal/plugin/JvmPluginClassLoader.kt
@@ -207,7 +207,7 @@ internal class JvmPluginClassLoaderN : URLClassLoader {
         this.sharedLibrariesLogger = ctx.sharedLibrariesLoader
         this.file = file
         this.ctx = ctx
-        init0()
+        init1()
     }
 
     @Suppress("Since15")
@@ -218,7 +218,16 @@ internal class JvmPluginClassLoaderN : URLClassLoader {
         this.sharedLibrariesLogger = ctx.sharedLibrariesLoader
         this.file = file
         this.ctx = ctx
-        init0()
+        init1()
+    }
+
+    private fun init1() {
+        try {
+            init0()
+        } catch (e: Throwable) {
+            e.addSuppressed(RuntimeException("Failed to initialize new JvmPluginClassLoader, file=$file"))
+            throw e
+        }
     }
 
     private fun init0() {