From 1779d833024ef80e12b9662b3773885d882fabf7 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 23 Jan 2020 11:16:22 -0500 Subject: [PATCH] clientloader: throw classnotfoundexception when trying to load classes from the closed jar This allows showing the classname when an exception is thrown due to the jar being closed --- .../java/net/runelite/client/rs/ClientLoader.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/rs/ClientLoader.java b/runelite-client/src/main/java/net/runelite/client/rs/ClientLoader.java index 10fa8e9fd4..4309a10bbf 100644 --- a/runelite-client/src/main/java/net/runelite/client/rs/ClientLoader.java +++ b/runelite-client/src/main/java/net/runelite/client/rs/ClientLoader.java @@ -451,7 +451,17 @@ public class ClientLoader implements Supplier protected Class findClass(String name) throws ClassNotFoundException { String entryName = name.replace('.', '/').concat(".class"); - JarEntry jarEntry = jarFile.getJarEntry(entryName); + JarEntry jarEntry; + + try + { + jarEntry = jarFile.getJarEntry(entryName); + } + catch (IllegalStateException ex) + { + throw new ClassNotFoundException(name, ex); + } + if (jarEntry == null) { throw new ClassNotFoundException(name);