模块 jdk.jdi

接口 ExceptionRequest

所有父级接口:
EventRequest , Mirror

public interface ExceptionRequest extends EventRequest
当目标虚拟机发生异常时请求通知。当启用的 ExceptionRequest 得到满足时,包含 ExceptionEvent event set 将被放置在 EventQueue 上。现有 ExceptionRequests 的集合由 EventRequestManager 管理
自从:
1.3
参见:
  • 方法详情

    • exception

      ReferenceType  exception()
      返回为其请求异常事件的异常类型。
      返回:
      使用 EventRequestManager.createExceptionRequest(com.sun.jdi.ReferenceType, boolean, boolean) 请求的异常(及其子类),如果默认情况下请求所有异常,则为 null。
    • notifyCaught

      boolean notifyCaught()
      返回所请求类型的捕获异常是否会在抛出时生成事件。

      请注意,在抛出异常时,并不总是能够确定它是否真正被捕获。有关详细信息,请参阅 ExceptionEvent.catchLocation()

      返回:
      boolean 如果捕捉到的异常将被报告,则为 true,否则为 false。
    • notifyUncaught

      boolean notifyUncaught()
      返回所请求类型的未捕获异常在被抛出时是否会生成事件。

      请注意,在抛出异常时,并不总是能够确定它是否真的未被捕获。有关详细信息,请参阅 ExceptionEvent.catchLocation()

      返回:
      boolean 如果捕捉到的异常将被报告,则为 true,否则为 false。
    • addThreadFilter

      void addThreadFilter(ThreadReference  thread)
      将此请求生成的事件限制为给定线程中的事件。
      参数:
      thread - 要过滤的线程。
      抛出:
      InvalidRequestStateException - 如果此请求当前已启用或已被删除。过滤器只能添加到禁用的请求。
    • addClassFilter

      void addClassFilter(ReferenceType  refType)
      将此请求生成的事件限制为位置在给定引用类型或其任何子类型中的事件。将为引用类型中可以安全地转换为给定引用类型的任何位置生成一个事件。
      参数:
      refType - 要过滤的引用类型。
      抛出:
      InvalidRequestStateException - 如果此请求当前已启用或已被删除。过滤器只能添加到禁用的请求。
    • addClassFilter

      void addClassFilter(String  classPattern)
      将此请求生成的事件限制为那些位置位于名称与受限正则表达式匹配的类中的事件。正则表达式仅限于以'*'开头或以'*'结尾的精确匹配和模式;例如,“*.Foo”或“java.*”。
      参数:
      classPattern - 要过滤的模式字符串。
      抛出:
      InvalidRequestStateException - 如果此请求当前已启用或已被删除。过滤器只能添加到禁用的请求。
    • addClassExclusionFilter

      void addClassExclusionFilter(String  classPattern)
      将此请求生成的事件限制为那些位置在其名称不存在的类中的事件not匹配一个受限制的正则表达式。正则表达式仅限于以'*'开头或以'*'结尾的精确匹配和模式;例如,“*.Foo”或“java.*”。
      参数:
      classPattern - 要过滤的模式字符串。
      抛出:
      InvalidRequestStateException - 如果此请求当前已启用或已被删除。过滤器只能添加到禁用的请求。
    • addInstanceFilter

      void addInstanceFilter(ObjectReference  instance)
      将此请求生成的事件限制为当前正在执行的实例(“this”)是指定对象的事件。

      并非所有目标都支持此操作。使用 VirtualMachine.canUseInstanceFilters() 确定是否支持该操作。

      参数:
      instance - 必须是当前实例才能通过此过滤器的对象。
      抛出:
      UnsupportedOperationException - 如果目标虚拟机不支持此操作。
      InvalidRequestStateException - 如果此请求当前已启用或已被删除。过滤器只能添加到禁用的请求。
      自从:
      1.4