-
In C#, all exceptions must be represented
by an instance of a class type derived from System.Exception.
In C++, any value of any type can be used to represent an exception.
-
In C#, a finally block can be used to write
termination code that executes in both normal execution and exceptional
conditions. Such code is difficult to write in C++ without duplicating code.
-
In C#, system-level exceptions such as overflow,
divide-by-zero, and null dereferences have well defined exception classes
and are on a par with application-level error conditions.