@SuppressWarnings("unchecked")
    private boolean hasExceptionOnStack() {
        try {
            for (int i = 0; i < (stack.getStackDepth() - 1); i++) {
                OpcodeStack.Item item = stack.getStackItem(i);
                String sig = item.getSignature();
                if (sig.startsWith(Values.SIG_QUALIFIED_CLASS_PREFIX)) {
                    String name = SignatureUtils.stripSignature(sig);
                    JavaClass cls = Repository.lookupClass(name);
                    if (cls.instanceOf(throwableClass)) {
                        return true;
                    }
                } else if (sig.startsWith(Values.SIG_ARRAY_PREFIX)) {
                    LOUserValue<Integer> uv = (LOUserValue<Integer>) item.getUserValue();
                    if ((uv != null) && (uv.getType() == LOUserValue.LOType.ARRAY_SIZE)) {
                        Integer sz = uv.getValue();
                        if ((sz != null) && (sz.intValue() < 0)) {
                            return true;
                        }
                    }
                }
            }
            return false;
        } catch (ClassNotFoundException cnfe) {
            bugReporter.reportMissingClass(cnfe);
            return true;
        }
    }
@ SuppressWarnings ( "unchecked" ) private boolean hasExceptionOnStack ( ) { try { for ( int i = 0 ; i < ( stack . getStackDepth ( ) - 1 ) ; i ++ ) { OpcodeStack . Item item = stack . getStackItem ( i ) ; String sig = item . getSignature ( ) ; if ( sig . startsWith ( Values . SIG_QUALIFIED_CLASS_PREFIX ) ) { String name = SignatureUtils . stripSignature ( sig ) ; JavaClass cls = Repository . lookupClass ( name ) ; if ( cls . instanceOf ( throwableClass ) ) { return true ; } } else if ( sig . startsWith ( Values . SIG_ARRAY_PREFIX ) ) { LOUserValue < Integer > uv = ( LOUserValue < Integer > ) item . getUserValue ( ) ; if ( ( uv != null ) && ( uv . getType ( ) == LOUserValue . LOType . ARRAY_SIZE ) ) { Integer sz = uv . getValue ( ) ; if ( ( sz != null ) && ( sz . intValue ( ) < 0 ) ) { return true ; } } } } return false ; } catch ( ClassNotFoundException cnfe ) { bugReporter . reportMissingClass ( cnfe ) ; return true ; } }
returns whether an exception object is on the stack slf4j will find this, and not include it in the parm list so i we find one, just don't report

@return whether or not an exception i present