Don't propagate non-ClassNotFoundException error from Class.forName
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Thu, 29 Aug 2013 08:00:42 +0000
changeset 1252e414f379f378
parent 1251 65be08df3969
child 1253 a936dd8280dc
Don't propagate non-ClassNotFoundException error from Class.forName
rt/emul/mini/src/main/java/java/lang/Class.java
     1.1 --- a/rt/emul/mini/src/main/java/java/lang/Class.java	Thu Aug 29 07:59:21 2013 +0000
     1.2 +++ b/rt/emul/mini/src/main/java/java/lang/Class.java	Thu Aug 29 08:00:42 2013 +0000
     1.3 @@ -155,11 +155,15 @@
     1.4              }
     1.5              return arrType;
     1.6          }
     1.7 -        Class<?> c = loadCls(className, className.replace('.', '_'));
     1.8 -        if (c == null) {
     1.9 -            throw new ClassNotFoundException(className);
    1.10 +        try {
    1.11 +            Class<?> c = loadCls(className, className.replace('.', '_'));
    1.12 +            if (c == null) {
    1.13 +                throw new ClassNotFoundException(className);
    1.14 +            }
    1.15 +            return c;
    1.16 +        } catch (Throwable ex) {
    1.17 +            throw new ClassNotFoundException(className, ex);
    1.18          }
    1.19 -        return c;
    1.20      }
    1.21  
    1.22