I think you need to cast the Exception "ex" parameter.

Evaluate what the "ex" parameter holds and that would mean
declaring/anticipating what particular Exceptions might be thrown to
it like:


     public void HandleException(Exception  ex)
     {
         if ( (ex as MissingDependencyException ) != null)      //
MissingDependencyException raised?
         {
              ...do
stuff...                                                     // ..
then handle it...
         }

         if ( (ex as DividebyzeroException ) != null)               //
DivideByZeroException raised?
         {
              ...do different
stuff...                                         // then handle
like...
         }


        // other possible exceptions define them here...

     }



Regards,


Benj





On May 29, 6:10 am, rbr <[email protected]> wrote:
> Hello all,
>
> I am tasked with creating a base exception handler that will handle a
> bunch of clean-up that needs to happen based on the type of exception
> thrown. So, for example, I will have (at least in my initial thoughts)
> a base class like:
>
> public abstract class BaseExceptionHandler
> {
>
>      public void HandleException(Exception  ex)
>      {
>           Do something based on exception type;
>      }
>
> }
>
> Then each inherited exception type will declare like:
>
> public abstract class NewExceptionHandler : BaseExceptionHandler
> {
>
>      Any new or overridden logic
>
> }
>
> Then the implementation needs to look like:
>
> NewExceptionHandler exHandler = new NewExceptionHandler();
>
> try
> {
>      Whatever}
>
> catch (MissingDependencyException ex)
> {
>      exHandler.HandleException(ex);}
>
> catch (DividebyzeroException ex)
> {
>     exHandler.HandleException(ex);}
>
> …
> How, given that all of these inherit from Sytem.Exception do I find
> out the actual type of the exception thrown? I know I am missing
> something obvious…
>
> Thanks in advance!
>
> rbr

Reply via email to