This method of the IRemoteProcessCallbackEx2 interface supersedes the ExceptionEvent method. If the debugger implements IRemoteProcessCallbackEx2, the Microsoft VM calls the debugger's ExceptionEventEx method rather than the debugger's ExceptionEvent method.
The ExceptionEventEx method notifies the debugger when an exception occurs in the Java process being debugged.
HRESULT ExceptionEventEx(IRemoteThread *pThread, IRemoteClassField *pExceptionClass, EXCEPTIONKIND exceptionKind, IRemoteClassObject *pExceptionObject)
[in] pThread | The thread that generated the event. |
[in] pExceptionClass | The class of the thrown object. |
[in] exceptionKind | The kind of exception that occurred. |
[in] pExceptionObject | The thrown object. |
S_OK Leave execution suspended.
S_FALSE Resume execution.
The exceptionKind parameter is one of the values defined in the EXCEPTIONKIND enumeration as shown below.
EXCEPTIONKIND Enumeration: EXCEPTION_KIND_FIRST_CHANCE
Value: 1
Description: A Java exception was thrown. The Microsoft VM has not yet searched for a handler for the thrown exception.
EXCEPTIONKIND Enumeration: EXCEPTION_KIND_LAST_CHANCE
Value: 2
Description: No exception handler was found for this thrown Java exception.
When a Java exception is thrown, the debugger receives an EXCEPTION_KIND_FIRST_CHANCE exception notification. If the Microsoft VM cannot find a handler for the exception, the debugger then receives an EXCEPTION_KIND_LAST_CHANCE exception notification.