- 所有父级接口:
EventRequest,Mirror
当目标虚拟机发生异常时请求通知。当启用的 ExceptionRequest 得到满足时,包含
ExceptionEvent 的 event set 将被放置在 EventQueue 上。现有 ExceptionRequests 的集合由 EventRequestManager 管理
- 自从:
- 1.3
- 参见:
-
字段摘要
在接口 com.sun.jdi.request.EventRequest 中声明的字段
SUSPEND_ALL, SUSPEND_EVENT_THREAD, SUSPEND_NONE -
方法总结
修饰符和类型方法描述voidaddClassExclusionFilter(String classPattern) 将此请求生成的事件限制为那些位置在其名称不存在的类中的事件not匹配一个受限制的正则表达式。voidaddClassFilter(ReferenceType refType) 将此请求生成的事件限制为位置在给定引用类型或其任何子类型中的事件。voidaddClassFilter(String classPattern) 将此请求生成的事件限制为那些位置位于名称与受限正则表达式匹配的类中的事件。voidaddInstanceFilter(ObjectReference instance) 将此请求生成的事件限制为当前正在执行的实例(“this”)是指定对象的事件。voidaddThreadFilter(ThreadReference thread) 将此请求生成的事件限制为给定线程中的事件。返回为其请求异常事件的异常类型。boolean返回所请求类型的捕获异常是否会在抛出时生成事件。boolean返回所请求类型的未捕获异常在被抛出时是否会生成事件。在接口 com.sun.jdi.request.EventRequest 中声明的方法
addCountFilter, disable, enable, getProperty, isEnabled, putProperty, setEnabled, setSuspendPolicy, suspendPolicy在接口 com.sun.jdi.Mirror 中声明的方法
toString, virtualMachine
-
方法详情
-
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
将此请求生成的事件限制为给定线程中的事件。- 参数:
thread- 要过滤的线程。- 抛出:
InvalidRequestStateException- 如果此请求当前已启用或已被删除。过滤器只能添加到禁用的请求。
-
addClassFilter
将此请求生成的事件限制为位置在给定引用类型或其任何子类型中的事件。将为引用类型中可以安全地转换为给定引用类型的任何位置生成一个事件。- 参数:
refType- 要过滤的引用类型。- 抛出:
InvalidRequestStateException- 如果此请求当前已启用或已被删除。过滤器只能添加到禁用的请求。
-
addClassFilter
将此请求生成的事件限制为那些位置位于名称与受限正则表达式匹配的类中的事件。正则表达式仅限于以'*'开头或以'*'结尾的精确匹配和模式;例如,“*.Foo”或“java.*”。- 参数:
classPattern- 要过滤的模式字符串。- 抛出:
InvalidRequestStateException- 如果此请求当前已启用或已被删除。过滤器只能添加到禁用的请求。
-
addClassExclusionFilter
将此请求生成的事件限制为那些位置在其名称不存在的类中的事件not匹配一个受限制的正则表达式。正则表达式仅限于以'*'开头或以'*'结尾的精确匹配和模式;例如,“*.Foo”或“java.*”。- 参数:
classPattern- 要过滤的模式字符串。- 抛出:
InvalidRequestStateException- 如果此请求当前已启用或已被删除。过滤器只能添加到禁用的请求。
-
addInstanceFilter
将此请求生成的事件限制为当前正在执行的实例(“this”)是指定对象的事件。并非所有目标都支持此操作。使用
VirtualMachine.canUseInstanceFilters()确定是否支持该操作。- 参数:
instance- 必须是当前实例才能通过此过滤器的对象。- 抛出:
UnsupportedOperationException- 如果目标虚拟机不支持此操作。InvalidRequestStateException- 如果此请求当前已启用或已被删除。过滤器只能添加到禁用的请求。- 自从:
- 1.4
-