-
- All Superinterfaces:
-
EventRequest
,Mirror
public interface ExceptionRequestextends EventRequest
在目标VM中发生异常时请求通知。 当开启了ExceptionRequest被满足,一个event set
含有ExceptionEvent
将被放置在EventQueue
。 现有ExceptionRequests的集合由EventRequestManager
管理- 从以下版本开始:
- 1.3
- 另请参见:
-
ExceptionEvent
,EventQueue
,EventRequestManager
-
-
字段汇总
-
Fields declared in interface com.sun.jdi.request.EventRequest
SUSPEND_ALL, SUSPEND_EVENT_THREAD, SUSPEND_NONE
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 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()
返回所请求类型的未捕获异常是否会在抛出时生成事件。-
声明方法的接口 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
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
-
-