if (ACCURATE_EXCEPTIONS) accurateHandleExceptions(subroutine, pei, etb); else conservativeHandleExceptions(subroutine, pei, etb);
boolean sawAnyExceptionHandler = false;  List<CodeExceptionGen> exceptionHandlerList = exceptionHandlerMap.getHandlerList(pei); if (exceptionHandlerList != null) {  Iterator<CodeExceptionGen> i = exceptionHandlerList.iterator(); while (i.hasNext()) { CodeExceptionGen exceptionHandler = i.next(); InstructionHandle handlerStart = exceptionHandler.getHandlerPC(); subroutine.addEdgeAndExplore(etb, handlerStart, HANDLED_EXCEPTION_EDGE);  if (exceptionHandler.getCatchType() == null || exceptionHandler.getCatchType().equals(ObjectType.THROWABLE)) sawAnyExceptionHandler = true; } }      if (!sawAnyExceptionHandler) { if (DEBUG) System.out.println("Adding unhandled exception edge from " + pei); subroutine.setUnhandledExceptionBlock(etb); }
	private void handleExceptions(Subroutine subroutine, InstructionHandle pei, BasicBlock etb) {		etb.setExceptionThrower(pei);		if (ACCURATE_EXCEPTIONS)			accurateHandleExceptions(subroutine, pei, etb);		else			conservativeHandleExceptions(subroutine, pei, etb);	}