Just for my clarification:
Can I throw both CLS-compliant and non-CLS compliant exceptions in .NET Framework? I am using C# 3.0.
When I catch an exception
catch(Exception ex)
{
}
- Will it catch only CLS-compliant exceptions?
- What is the use of RuntimeWrappedException class (can I have a simple example?).
RuntimeWrappedException, which derives fromException.You do not throw a
RuntimeWrappedException, the CLR does. MSDN has a detailed description, which I quote here:Some languages, such as C++, allow you to throw exceptions of any managed type. Other languages, such as Microsoft C# and Visual Basic, require that every thrown exception be derived from the Exception class. To maintain compatibility between languages, the common language runtime (CLR) wraps objects that do not derive from Exception in a RuntimeWrappedException object.
If you want to treat CLS and non-CLS exceptions differently, just catch them in the right order: