Brilliant exception handling I found in an app i had to work on

  • TwilightKiddy@programming.dev
    link
    fedilink
    arrow-up
    3
    ·
    2 years ago

    Rethrowing caught exception in C# is just throw;, not throw ex;. This will delete old stack trace, which is very punishable if someone debugs your code later and you’re still around.

    • ipkpjersi
      link
      fedilink
      arrow-up
      1
      ·
      2 years ago

      Oh, that makes more sense, just throw; in Java would be a syntax error lol

      • TwilightKiddy@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        throw ex; treats ex as a new exception, so, it starts a new stack trace for it from itself and deletes stack trace that was saved in ex.StackTrace. On the other hand, throw; takes already present exception in the scope and throws it without modifying the stack trace, preserving the original method that threw ex in the stack trace.

        I feel like I wrote the same thing twice. I’m a bit bad with explaining stuff, feel free to ask more specific questions if you still don’t understand the difference.