- 所有超级接口:
-
EventRequest
,Mirror
在目标VM中发生异常时请求通知。当启用的ExceptionRequest满足时,将在EventQueue上放置一个包含ExceptionEvent的事件集。现有ExceptionRequests的集合由EventRequestManager管理
- 自1.3版本起:
- 1.3
- 参见:
-
Field Summary
Fields declared in interface com.sun.jdi.request.EventRequest
SUSPEND_ALL, SUSPEND_EVENT_THREAD, SUSPEND_NONE
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addClassExclusionFilter
(String classPattern) 限制此请求生成的事件仅限于其位置位于类中的事件,该类的名称与受限制的正则表达式不匹配。void
addClassFilter
(ReferenceType refType) 限制此请求生成的事件仅限于其位置位于给定引用类型或其任何子类型中的事件。void
addClassFilter
(String classPattern) 限制此请求生成的事件仅限于其位置位于类中的事件,该类的名称与受限制的正则表达式匹配。void
addInstanceFilter
(ObjectReference instance) 限制此请求生成的事件仅限于当前执行实例("this")是指定对象的事件。void
addThreadFilter
(ThreadReference thread) 限制此请求生成的事件仅限于给定线程中的事件。返回请求异常事件的异常类型。boolean
返回请求类型的捕获异常在抛出时是否会生成事件。boolean
返回请求类型的未捕获异常在抛出时是否会生成事件。Methods declared in interface com.sun.jdi.request.EventRequest
addCountFilter, disable, enable, getProperty, isEnabled, putProperty, setEnabled, setSuspendPolicy, suspendPolicy
Methods declared in interface com.sun.jdi.Mirror
toString, virtualMachine
-
Method Details
-
exception
ReferenceType exception()返回请求异常事件的异常类型。- 返回:
- 使用EventRequestManager.createExceptionRequest(com.sun.jdi.ReferenceType, boolean, boolean)请求的异常(及其子类),如果默认情况下请求所有异常,则返回null。
-
notifyCaught
boolean notifyCaught()返回请求类型的捕获异常在抛出时是否会生成事件。请注意,在抛出异常时,通常无法确定它是否真正被捕获。有关详细信息,请参见ExceptionEvent.catchLocation()。
- 返回:
- 如果捕获的异常将被报告,则返回true,否则返回false。
-
notifyUncaught
boolean notifyUncaught()返回请求类型的未捕获异常在抛出时是否会生成事件。请注意,在抛出异常时,通常无法确定它是否真正未被捕获。有关详细信息,请参见ExceptionEvent.catchLocation()。
- 返回:
- 如果捕获的异常将被报告,则返回true,否则返回false。
-
addThreadFilter
限制此请求生成的事件仅限于给定线程中的事件。- 参数:
-
thread
- 要过滤的线程。 - 抛出:
-
InvalidRequestStateException
- 如果此请求当前已启用或已删除。只能向已禁用的请求添加过滤器。
-
addClassFilter
限制此请求生成的事件仅限于其位置位于给定引用类型或其任何子类型中的事件。将为可以安全转换为给定引用类型的引用类型中的任何位置生成事件。- 参数:
-
refType
- 要过滤的引用类型。 - 抛出:
-
InvalidRequestStateException
- 如果此请求当前已启用或已删除。只能向已禁用的请求添加过滤器。
-
addClassFilter
限制此请求生成的事件仅限于其位置位于类中的事件,该类的名称与受限制的正则表达式匹配。正则表达式仅限于精确匹配和以'*'开头或以'*'结尾的模式;例如,"*.Foo"或"java.*"。- 参数:
-
classPattern
- 要过滤的模式字符串。 - 抛出:
-
InvalidRequestStateException
- 如果此请求当前已启用或已删除。只能向已禁用的请求添加过滤器。
-
addClassExclusionFilter
限制此请求生成的事件仅限于其位置位于类中的事件,该类的名称与受限制的正则表达式不匹配。正则表达式仅限于精确匹配和以'*'开头或以'*'结尾的模式;例如,"*.Foo"或"java.*"。- 参数:
-
classPattern
- 要过滤的模式字符串。 - 抛出:
-
InvalidRequestStateException
- 如果此请求当前已启用或已删除。只能向已禁用的请求添加过滤器。
-
addInstanceFilter
限制此请求生成的事件仅限于当前执行实例("this")是指定对象的事件。并非所有目标都支持此操作。使用VirtualMachine.canUseInstanceFilters()确定是否支持该操作。
- 参数:
-
instance
- 必须是当前实例才能通过此过滤器的对象。 - 抛出:
-
UnsupportedOperationException
- 如果目标虚拟机不支持此操作。 -
InvalidRequestStateException
- 如果此请求当前已启用或已删除。只能向已禁用的请求添加过滤器。 - 自1.4版本起:
- 1.4
-