[Mono-list] RFC: Corlib Unit Test on Linux How-To
Cristian Diaconu
diaconu@optonline.net
Tue, 30 Apr 2002 23:45:20 -0400
This is a multi-part message in MIME format.
--Boundary_(ID_0NIxmnD8BgQtH4Kxm2T+Wg)
Content-type: text/plain; charset=iso-8859-1
Content-transfer-encoding: 7BIT
>>>>>>>>>>>>>>>>
I'm not sure why they chose to do this, but it does look intentional. My
only guess so far is that they wanted to allow developers the
opportunity to inspect the program's state with a debugger before any of
the finally blocks ran.
<<<<<<<<<<<<<<<<
That, and the fact that having a "two-pass" stack walk matches Windows' SEH better than the single pass you suggest with finally clauses invoked as you go. In fact, I'm not even sure how the single pass would work in Mono in the presence of user-filtered handlers. (The way I read the specification, user-filtered handlers must run before any finally block is being run. Moreover, in a future release they seem to intend to support EXCEPTION_CONTINUE_EXECUTION returned from filters which would *require* the stack to be intact.)
My 2c anyway
Cristian
--Boundary_(ID_0NIxmnD8BgQtH4Kxm2T+Wg)
Content-type: text/html; charset=iso-8859-1
Content-transfer-encoding: 7BIT
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2715.400" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial
size=2>>>>>>>>>>>>>>>>></FONT></DIV>
<DIV>I'm not sure why they chose to do this, but it does look intentional.
My<BR>only guess so far is that they wanted to allow developers
the<BR>opportunity to inspect the program's state with a debugger before any
of<BR>the finally blocks ran.<BR><FONT face=Arial
size=2><<<<<<<<<<<<<<<<</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>That, and the fact that having a "two-pass" stack
walk matches Windows' SEH better than the single pass you suggest with finally
clauses invoked as you go. In fact, I'm not even sure how the single pass would
work in Mono in the presence of user-filtered handlers. (The way I read the
specification, <SPAN class=Bold><SPAN
style="FONT-WEIGHT: normal; FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold">user-filtered
handlers must <FONT face=Arial size=2>run before any finally block is being run.
Moreover, in a future release they seem to intend to support <FONT
size=2>EXCEPTION_CONTINUE_EXECUTION returned from filters which would *require*
the stack to be intact.</FONT></FONT></SPAN></SPAN>)</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>My 2c anyway</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Cristian</FONT></DIV>
<DIV><BR></DIV></BODY></HTML>
--Boundary_(ID_0NIxmnD8BgQtH4Kxm2T+Wg)--