Author: dbrosius Date: Fri Sep 12 18:44:14 2008 New Revision: 694866 URL: http://svn.apache.org/viewvc?rev=694866&view=rev Log: Better exceptioning, -- don't lose exception stack traces
Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/classfile/ClassFormatException.java jakarta/bcel/trunk/src/main/java/org/apache/bcel/classfile/Utility.java jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/ClassGenException.java jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/InstructionFactory.java jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/InstructionList.java jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/Type.java jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassLoaderRepository.java jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/JavaWrapper.java jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/SyntheticRepository.java Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/classfile/ClassFormatException.java URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/classfile/ClassFormatException.java?rev=694866&r1=694865&r2=694866&view=diff ============================================================================== --- jakarta/bcel/trunk/src/main/java/org/apache/bcel/classfile/ClassFormatException.java (original) +++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/classfile/ClassFormatException.java Fri Sep 12 18:44:14 2008 @@ -34,4 +34,8 @@ public ClassFormatException(String s) { super(s); } + + public ClassFormatException(String s, Throwable initCause) { + super(s, initCause); + } } Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/classfile/Utility.java URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/classfile/Utility.java?rev=694866&r1=694865&r2=694866&view=diff ============================================================================== --- jakarta/bcel/trunk/src/main/java/org/apache/bcel/classfile/Utility.java (original) +++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/classfile/Utility.java Fri Sep 12 18:44:14 2008 @@ -162,7 +162,7 @@ } catch (IOException e) { System.out.println(buf.toString()); e.printStackTrace(); - throw new ClassFormatException("Byte code error: " + e); + throw new ClassFormatException("Byte code error: " + e, e); } return buf.toString(); } @@ -568,7 +568,7 @@ index += unwrap(consumed_chars); // update position } } catch (StringIndexOutOfBoundsException e) { // Should never occur - throw new ClassFormatException("Invalid method signature: " + signature); + throw new ClassFormatException("Invalid method signature: " + signature, e); } return (String[]) vec.toArray(new String[vec.size()]); } @@ -600,7 +600,7 @@ index = signature.lastIndexOf(')') + 1; type = signatureToString(signature.substring(index), chopit); } catch (StringIndexOutOfBoundsException e) { // Should never occur - throw new ClassFormatException("Invalid method signature: " + signature); + throw new ClassFormatException("Invalid method signature: " + signature, e); } return type; } @@ -687,7 +687,7 @@ // Read return type after `)' type = signatureToString(signature.substring(index), chopit); } catch (StringIndexOutOfBoundsException e) { // Should never occur - throw new ClassFormatException("Invalid method signature: " + signature); + throw new ClassFormatException("Invalid method signature: " + signature, e); } if (buf.length() > 1) { buf.setLength(buf.length() - 2); @@ -834,7 +834,7 @@ throw new ClassFormatException("Invalid signature: `" + signature + "'"); } } catch (StringIndexOutOfBoundsException e) { // Should never occur - throw new ClassFormatException("Invalid signature: " + e + ":" + signature); + throw new ClassFormatException("Invalid signature: " + signature, e); } } @@ -943,7 +943,7 @@ index = signature.lastIndexOf(')') + 1; return typeOfSignature(signature.substring(index)); } catch (StringIndexOutOfBoundsException e) { - throw new ClassFormatException("Invalid method signature: " + signature); + throw new ClassFormatException("Invalid method signature: " + signature, e); } } @@ -984,7 +984,7 @@ throw new ClassFormatException("Invalid method signature: " + signature); } } catch (StringIndexOutOfBoundsException e) { - throw new ClassFormatException("Invalid method signature: " + signature); + throw new ClassFormatException("Invalid method signature: " + signature, e); } } Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/ClassGenException.java URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/ClassGenException.java?rev=694866&r1=694865&r2=694866&view=diff ============================================================================== --- jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/ClassGenException.java (original) +++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/ClassGenException.java Fri Sep 12 18:44:14 2008 @@ -33,4 +33,8 @@ public ClassGenException(String s) { super(s); } + + public ClassGenException(String s, Throwable initCause) { + super(s, initCause); + } } Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/InstructionFactory.java URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/InstructionFactory.java?rev=694866&r1=694865&r2=694866&view=diff ============================================================================== --- jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/InstructionFactory.java (original) +++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/InstructionFactory.java Fri Sep 12 18:44:14 2008 @@ -562,7 +562,7 @@ try { i = (Instruction) java.lang.Class.forName(name).newInstance(); } catch (Exception e) { - throw new RuntimeException("Could not find instruction: " + name); + throw new RuntimeException("Could not find instruction: " + name, e); } return i; } else if ((src_type instanceof ReferenceType) && (dest_type instanceof ReferenceType)) { Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/InstructionList.java URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/InstructionList.java?rev=694866&r1=694865&r2=694866&view=diff ============================================================================== --- jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/InstructionList.java (original) +++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/InstructionList.java Fri Sep 12 18:44:14 2008 @@ -185,7 +185,7 @@ count++; } } catch (IOException e) { - throw new ClassGenException(e.toString()); + throw new ClassGenException(e.toString(), e); } byte_positions = new int[count]; // Trim to proper size System.arraycopy(pos, 0, byte_positions, 0, count); @@ -968,7 +968,7 @@ instructions.add(Instruction.readInstruction(bytes)); } } catch (IOException e) { - throw new ClassGenException(e.toString()); + throw new ClassGenException(e.toString(), e); } return (Instruction[]) instructions.toArray(new Instruction[instructions.size()]); } Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/Type.java URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/Type.java?rev=694866&r1=694865&r2=694866&view=diff ============================================================================== --- jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/Type.java (original) +++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/Type.java Fri Sep 12 18:44:14 2008 @@ -207,7 +207,7 @@ int index = signature.lastIndexOf(')') + 1; return getType(signature.substring(index)); } catch (StringIndexOutOfBoundsException e) { // Should never occur - throw new ClassFormatException("Invalid method signature: " + signature); + throw new ClassFormatException("Invalid method signature: " + signature, e); } } @@ -232,7 +232,7 @@ index += unwrap(consumed_chars); // update position } } catch (StringIndexOutOfBoundsException e) { // Should never occur - throw new ClassFormatException("Invalid method signature: " + signature); + throw new ClassFormatException("Invalid method signature: " + signature, e); } types = new Type[vec.size()]; vec.toArray(types); @@ -335,7 +335,7 @@ index += consumed(coded); } } catch (StringIndexOutOfBoundsException e) { // Should never occur - throw new ClassFormatException("Invalid method signature: " + signature); + throw new ClassFormatException("Invalid method signature: " + signature, e); } return res; } Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassLoaderRepository.java URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassLoaderRepository.java?rev=694866&r1=694865&r2=694866&view=diff ============================================================================== --- jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassLoaderRepository.java (original) +++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassLoaderRepository.java Fri Sep 12 18:44:14 2008 @@ -95,7 +95,7 @@ storeClass(RC); return RC; } catch (IOException e) { - throw new ClassNotFoundException(e.toString()); + throw new ClassNotFoundException(className + " not found: " + e.toString(), e); } } Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/JavaWrapper.java URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/JavaWrapper.java?rev=694866&r1=694865&r2=694866&view=diff ============================================================================== --- jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/JavaWrapper.java (original) +++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/JavaWrapper.java Fri Sep 12 18:44:14 2008 @@ -48,7 +48,7 @@ try { return (java.lang.ClassLoader) Class.forName(s).newInstance(); } catch (Exception e) { - throw new RuntimeException(e.toString()); + throw new RuntimeException(e.toString(), e); } } Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/SyntheticRepository.java URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/SyntheticRepository.java?rev=694866&r1=694865&r2=694866&view=diff ============================================================================== --- jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/SyntheticRepository.java (original) +++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/SyntheticRepository.java Fri Sep 12 18:44:14 2008 @@ -126,7 +126,7 @@ return loadClass(_path.getInputStream(className), className); } catch (IOException e) { throw new ClassNotFoundException("Exception while looking for class " + className - + ": " + e.toString()); + + ": " + e.toString(), e); } } @@ -169,7 +169,7 @@ } } catch (IOException e) { throw new ClassNotFoundException("Exception while looking for class " + className - + ": " + e.toString()); + + ": " + e.toString(), e); } throw new ClassNotFoundException("SyntheticRepository could not load " + className); } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]