Class ExceptionTableEntry


  • public class ExceptionTableEntry
    extends java.lang.Object
    An entry in an exception table.
    • Field Detail

      • startPC

        private final int startPC
      • endPC

        private final int endPC
      • handlerPC

        private final int handlerPC
      • catchType

        private final CPClass catchType
      • startPcRenumbered

        private int startPcRenumbered
      • endPcRenumbered

        private int endPcRenumbered
      • handlerPcRenumbered

        private int handlerPcRenumbered
      • catchTypeIndex

        private int catchTypeIndex
    • Constructor Detail

      • ExceptionTableEntry

        public ExceptionTableEntry​(int startPC,
                                   int endPC,
                                   int handlerPC,
                                   CPClass catchType)
        Constructs a new ExceptionTableEntry. Exception tables are of two kinds: either a normal one (with a Throwable as the catchType) or a finally clause (which has no catchType). In the class file, the finally clause is represented as catchType == 0. To create a finally clause with this method, pass in null for the catchType.
        Parameters:
        startPC - int
        endPC - int
        handlerPC - int
        catchType - CPClass (if it's a normal catch) or null (if it's a finally clause).
    • Method Detail

      • getCatchType

        public CPClass getCatchType()
      • renumber

        public void renumber​(java.util.List<java.lang.Integer> byteCodeOffsets)
      • write

        public void write​(java.io.DataOutputStream dos)
                   throws java.io.IOException
        Throws:
        java.io.IOException