Mantis Bugtracker

Viewing Issue Advanced Details Jump to Notes ] View Simple ] 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 Platform
Status new   OS
Projection none   OS Version
ETA none Fixed in Version Product Version 3.2.0
  Product Build
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)
Steps To Reproduce
Additional Information
Attached Files

- Relationships

- Notes
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