Re: Exception Handling - help!
Tech-Archive recommends: Fix windows errors by optimizing your registry
Date: Wed, 3 Nov 2004 06:02:02 -0800
> Have you tried this with multiple nested exceptions?
>From the examples, I'm convinced that the so-called "CLI exception handling
mechanism" has a stack (or linked list or whatever :-) of "exception
records".
I tried examples with nested exceptions. When an exception B occurs, if we
are currently in the handling mechanism of an exception A, then A is stored
by the CLI exception handling mechanism. It is not discarded! If B will be
handled, we will switch the context back to the handling of A.
George
Relevant Pages
- Re: Nested exceptions example
... ' open SQL connection here... ... Catch Ex As Exception ... ' handle database errors ... > difficulties to see when/how to use nested exceptions. ... (microsoft.public.dotnet.languages.vb) - Re: x86 exception handling and stack demand
... When an exception occurs that will be passed down to user mode as an SEH exception, the kernel arranges for control to return to user mode at a special function in NTDLL, with several parameters on the stack containing information about the exception. ... In XP and later, the system stores a pointer to the initial stack allocation block in the TEB that is used by the kernel to decommit the stack via NtFreeVirtualMemory when the thread is terminated in a non-graceful fashion, closing this leak. ... (microsoft.public.win32.programmer.kernel) - [PATCH] x86: style fascism for xen assemblies
... * a view to being able to inline as much as possible. ... push %eax ... * This is run where a normal iret would be run, with the same stack setup: ... In order to deliver the nested exception properly, ... (Linux-Kernel) - RE: System.AccessViolationException in .NET 2.0 application
... Based on the call stack, there is an AV exception in the ... Microsoft Online Community Support ... (microsoft.public.dotnet.general) - Controlled types and exception safety
... I can classify the stack's operations by assigning them any of the above four levels, so that I know what can be expected when an exception is thrown for any reason (like inability to allocate more memory, or alike). ... For example, if the Push method of the stack gives me the strong guarantee, then I *know* that by calling this method either the new element will be appended to the stack, or the stack will remain unchanged, so that even if the exception is thrown, I don't have to worry about the stack's internal consistency. ... Since stack can be a dynamic data structure, assigning one stack object to another may involve destroying one existing data structure *and* creating a new one in its place. ... (comp.lang.ada) |
|