The way to make a catch block unrestrictive is to use the elipsis as the
parameter. That is:
try{}
catch(...){}
that means catch anything that is thrown, no matter what it is. This is
very useful if you need to perform some manual clean-up operation when an
exception is thrown... you can send the exception on with the throw command
without passing it a parameter... as such:
try{}
catch(...)
{
// perform cleanup here
throw;
}
but if you do:
try{}
catch(System::Exception* ex){}
then you are saying that you only want to catch exception that are derived
from System::Exception. Any exception that is thrown that does not derive of
this object will not be caught in this exception (with managed code, all
exceptions should derive from System::Exception).
Or, perhaps you are refering to this type of syntax:
try{}
catch(System::Exception*){}
this says that you want to catch any exception that derives from
System::Exception, but you do not care to use the object
hope this helps