What is the difference between throw and throw ex in c#?

Throw

In Throw, the original exception stack trace will be retained. To keep the original stack trace information, the correct syntax is ‘throw’ without specifying an exception.

try

{

// do some operation that can fail

}

catch (Exception ex)

{

// do some local cleanup

throw;

}

Throw ex

In Throw ex, the original stack trace information will get override and you will lose the original exception stack trace. I.e. ‘throw ex’ resets the stack trace.

try

{

// do some operation that can fail

}

catch (Exception ex)

{

// do some local cleanup

throw ex;

}

}

 

http://pramadha.com/

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s