2
Reply

C# - Difference between Throw and Throw ex in C# Asp.Net?

Ankur Jain

Ankur Jain

Aug 18, 2014
20.4k
0

    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. Eg: 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.Eg: try { // do some operation that can fail } catch (Exception ex) { // do some local cleanup throw ex; } }

    Ankur Jain
    August 18, 2014
    1

    If you use "throw" statement, it preserve original error stack information. If you use "throw ex" statement, stack trace of the exception will be replaced with a stack trace starting at the re-throw point.

    Dilip Bangar
    April 08, 2015
    0