Mantis Bugtracker
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0004320 [Hessian] minor always 12-08-10 01:44 12-08-10 01:47
Reporter ccampo View Status public  
Assigned To
Priority normal Resolution open  
Status new   Product Version 3.2.0
Summary 0004320: Catching ClassNotFoundException and continue in SerializerFactory
Description I recently fell over a piece of code in the SerializerFactory that looks like this

try {
        Class cl = Class.forName(type, false, loader);
        derserializer = getDeserializer(cl);
    } catch (Exception e) {
       log.warning("Hessian/Burlap: '" + type + "' is an unknown class in " + loader +":\n" + e);
       log.log(LEVEL.FINER, e.toString(), e);
       }

I am a little puzzeled about this piece of code. So a class cannot be found and the code prints out a log and continues as if nothing happens so it'll be only harder to find 3 steps later when interpreting the hessian protocol will fail with some other exception ?

Who would do something like this ?

Wouldnt it be way better and really the only way to deal with this, to pack the Exception into a RuntimeException that you throw ?

This problem is also in version 4.0.7 (the current one)
Additional Information
Attached Files

- Relationships

- Notes
(0004867)
ccampo
12-08-10 01:47

I believe the code should be replaced with

try {
        Class cl = Class.forName(type, false, loader);
        derserializer = getDeserializer(cl);
    } catch (Exception e) {
                 throw new HessianRuntimeException("Hessian/Burlap: '" + type + "' is an unknown class in " + loader, e);
}
 

- Issue History
Date Modified Username Field Change
12-08-10 01:44 ccampo New Issue
12-08-10 01:46 ccampo Issue Monitored: ccampo
12-08-10 01:47 ccampo Note Added: 0004867


Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
29 total queries executed.
25 unique queries executed.
Powered by Mantis Bugtracker