-
- All Superinterfaces:
-
EventRequest
,Mirror
public interface ExceptionRequest extends EventRequest
在目标虚拟机发生异常时请求通知。 当开启了ExceptionRequest被满足,一个event set
含有ExceptionEvent
将被放置在EventQueue
。 现有的ExceptionRequest的收集由EventRequestManager
管理- 从以下版本开始:
- 1.3
- 另请参见:
-
ExceptionEvent
,EventQueue
,EventRequestManager
-
-
Field Summary
-
Fields inherited from interface com.sun.jdi.request.EventRequest
SUSPEND_ALL, SUSPEND_EVENT_THREAD, SUSPEND_NONE
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 void
addClassExclusionFilter(String classPattern)
限制通过该请求到那些位置是在类名 不匹配的受限的正则表达式生成的事件。void
addClassFilter(ReferenceType refType)
将此请求生成的事件限制在位置在给定引用类型或其任何子类型中的那些事件。void
addClassFilter(String classPattern)
将此请求生成的事件限制在名称与受限正则表达式匹配的类中的位置。void
addInstanceFilter(ObjectReference instance)
将由此请求生成的事件限制为当前正在执行的实例(“this”)是指定对象的事件。void
addThreadFilter(ThreadReference thread)
将此请求生成的事件限制在给定线程中的事件。ReferenceType
exception()
返回异常事件被请求的异常类型。boolean
notifyCaught()
返回所请求类型的捕获异常是否会在抛出异常时生成事件。boolean
notifyUncaught()
返回所请求类型的未捕获异常是否在抛出时生成事件。-
Methods inherited from interface com.sun.jdi.request.EventRequest
addCountFilter, disable, enable, getProperty, isEnabled, putProperty, setEnabled, setSuspendPolicy, suspendPolicy
-
Methods inherited from interface 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
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)
限制通过该请求到那些位置是在类名不匹配的受限的正则表达式生成的事件。 正则表达式仅限于以“*”开头或以“*”结尾的精确匹配和模式; 例如“* .Foo”或“java。*”。- 参数
-
classPattern
- 要过滤的模式字符串。 - 异常
-
InvalidRequestStateException
- 如果此请求当前已启用或已被删除。 过滤器只能添加到禁用的请求中。
-
addInstanceFilter
void addInstanceFilter(ObjectReference instance)
将由此请求生成的事件限制为当前正在执行的实例(“this”)是指定对象的事件。并非所有目标都支持此操作。 使用
VirtualMachine.canUseInstanceFilters()
确定是否支持该操作。- 参数
-
instance
- 为了传递此过滤器必须是当前实例的对象。 - 异常
-
UnsupportedOperationException
- 如果目标虚拟机不支持此操作。 -
InvalidRequestStateException
- 如果此请求当前已启用或已被删除。 过滤器只能添加到禁用的请求中。 - 从以下版本开始:
- 1.4
-
-