Class ExceptionSet

java.lang.Object
edu.umd.cs.findbugs.ba.type.ExceptionSet

public class ExceptionSet extends Object
Class for keeping track of exceptions that can be thrown by an instruction. We distinguish explicit and implicit exceptions. Explicit exceptions are explicitly declared, thrown, or caught. Implicit exceptions are runtime faults (NPE, array out of bounds) not explicitly handled by the user code.
Author:
David Hovemeyer
See Also:
  • Method Details

    • duplicate

      public ExceptionSet duplicate()
      Return an exact copy of this object.
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • getCommonSupertype

      public org.apache.bcel.generic.Type getCommonSupertype() throws ClassNotFoundException
      Get the least (lowest in the lattice) common supertype of the exceptions in the set. Returns the special TOP type if the set is empty.
      Throws:
      ClassNotFoundException
    • iterator

      Return an iterator over thrown exceptions.
    • isEmpty

      public boolean isEmpty()
      Return whether or not the set is empty.
    • isSingleton

      public boolean isSingleton(String exceptionName)
      Checks to see if the exception set is a singleton set containing just the named exception
      Parameters:
      exceptionName - (in dotted format)
      Returns:
      true if it is
    • addExplicit

      public void addExplicit(org.apache.bcel.generic.ObjectType type)
      Add an explicit exception.
      Parameters:
      type - type of the exception
    • addImplicit

      public void addImplicit(org.apache.bcel.generic.ObjectType type)
      Add an implicit exception.
      Parameters:
      type - type of the exception
    • add

      public void add(org.apache.bcel.generic.ObjectType type, boolean explicit)
      Add an exception.
      Parameters:
      type - the exception type
      explicit - true if the exception is explicitly declared or thrown, false if implicit
    • addAll

      public void addAll(ExceptionSet other)
      Add all exceptions in the given set.
      Parameters:
      other - the set
    • clear

      public void clear()
      Remove all exceptions from the set.
    • sawUniversal

      public void sawUniversal()
      Return whether or not a universal exception handler was reached by the set.
    • sawUniversalHandler

      public boolean sawUniversalHandler()
      Mark the set as having reached a universal exception handler.
    • containsCheckedExceptions

      public boolean containsCheckedExceptions() throws ClassNotFoundException
      Return whether or not the set contains any checked exceptions.
      Throws:
      ClassNotFoundException
    • containsExplicitExceptions

      public boolean containsExplicitExceptions()
      Return whether or not the set contains any explicit exceptions.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • size

      public int size()