GetExceptionBreakMode(mode, exceptionName);
if (category == ExceptionBreakCategory::ANY || category == mode.category) {
if (dwEventType == CATCH_HANDLER_FOUND) {
- if (mode.AnyUser()) {
+ if (mode.UserUnhandled()) {
// Expected user-applications exceptions from throw(), but get
// explicit/implicit exception from `System.' clases.
const string SystemPrefix = "System.";
if (exceptionName.compare(0, SystemPrefix.size(), SystemPrefix) != 0)
return true;
}
+ if (mode.Throw())
+ return true;
}
if (dwEventType == UNHANDLED) {
if (mode.Unhandled())
Send(String.Format("38-break-exception-delete {0}", be10));
r = Expect("38^done");
-//////// Expected result => Raised EXCEPTION_C, EXCEPTION_D, EXCEPTION_E and exit after unhandled EXCEPTION_E.
+//////// Expected result => Raised EXCEPTION_C, EXCEPTION_D, EXCEPTION_E and exit after third unhandled exception.
//////// "State: !Thow() && UserUnhandled()";
//////// "name := AppException";
Assert.Equal("exception-received", r.FindString("reason"));
Assert.Equal(Lines["EXCEPTION_E"], r.Find("frame").FindInt("line"));
-Send("44-exec-continue");
-
-r = Expect("*stopped");
-Assert.Equal("exception-received", r.FindString("reason"));
-Assert.Equal(Lines["EXCEPTION_E"], r.Find("frame").FindInt("line"));
-
Send("45-exec-continue");
r = Expect("*stopped");
Assert.Equal("exited", r.FindString("reason"));