Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
CODE PROJECT For Those Who Code
  • Home
  • Articles
  • FAQ
Community
  1. Home
  2. General Programming
  3. C#
  4. Automatic insertion of try catch block

Automatic insertion of try catch block

Scheduled Pinned Locked Moved C#
18 Posts 10 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • OriginalGriffO OriginalGriff

    PogoboyKramer wrote:

    Goto VeryUnHappyland if you are the poor sod maintaining it...

    FTFY! :laugh:

    Real men don't use instructions. They are only the manufacturers opinion on how to put the thing together.

    F Offline
    F Offline
    fjdiewornncalwe
    wrote on last edited by
    #8

    Reading between the lines... You've worked with BA's before

    I wasn't, now I am, then I won't be anymore.

    OriginalGriffO 1 Reply Last reply
    0
    • F fjdiewornncalwe

      Reading between the lines... You've worked with BA's before

      I wasn't, now I am, then I won't be anymore.

      OriginalGriffO Offline
      OriginalGriffO Offline
      OriginalGriff
      wrote on last edited by
      #9

      Who hasn't? :laugh:

      Real men don't use instructions. They are only the manufacturers opinion on how to put the thing together.

      "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
      "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

      1 Reply Last reply
      0
      • T thomforum

        Dear All -- Forgive me if I am being greedy. Upon writing a function header say "Private void FntName()" is there a way the two curly braces and the try catch block is automatically inserted. :) cheers

        D Offline
        D Offline
        Dave Kreskowiak
        wrote on last edited by
        #10

        If you like removing said Try/Catch blocks all the time, this would be a good idea. But, it's a horrible idea to put a try/catch block in every method. You're not really doing/handling exceptions properly if this is the case, but instead making a nightmare of debugging your app.

        A guide to posting questions on CodeProject[^]
        Dave Kreskowiak

        T 1 Reply Last reply
        0
        • D Dave Kreskowiak

          If you like removing said Try/Catch blocks all the time, this would be a good idea. But, it's a horrible idea to put a try/catch block in every method. You're not really doing/handling exceptions properly if this is the case, but instead making a nightmare of debugging your app.

          A guide to posting questions on CodeProject[^]
          Dave Kreskowiak

          T Offline
          T Offline
          thomforum
          wrote on last edited by
          #11

          Dave -- Tell me one instance where you wouldn't prefer placing a try/catch in a method. cheers

          J P D 3 Replies Last reply
          0
          • T thomforum

            Dave -- Tell me one instance where you wouldn't prefer placing a try/catch in a method. cheers

            J Offline
            J Offline
            jschell
            wrote on last edited by
            #12

            thomforum wrote:

            Tell me one instance where you wouldn't prefer placing a try/catch in a method.

            Two instances. There are many others.

            public int Count
            {
            get { return count; }
            set
            {
            if (value >= 0)
            count = value;
            }
            }
            private int count;

            public void Initialize(String name)
            {
            if (String.IsNullOrEmpty(name))
            throw new ArgumentException("Name must be defined");
            this.name = name;
            }

            I also do not want to see the following. The following might require try/catch somewhere but logging the exception twice does nothing but provide confusion. So the question becomes what does the one try/catch do that the other does not?

            private void ProcessTxn()
            {
            try
            {
            ...
            }
            catch(Exception e)
            {
            __log.Error("Failed to process txn", e);
            throw;
            }
            }

            public void Process()
            {
            try
            {
            PrepareTxn();
            ProcessTxn();
            SaveTxn();
            }
            catch(Exception e)
            {
            __log.Error("Failed to process", e);
            throw;
            }
            }

            F 1 Reply Last reply
            0
            • J jschell

              thomforum wrote:

              Tell me one instance where you wouldn't prefer placing a try/catch in a method.

              Two instances. There are many others.

              public int Count
              {
              get { return count; }
              set
              {
              if (value >= 0)
              count = value;
              }
              }
              private int count;

              public void Initialize(String name)
              {
              if (String.IsNullOrEmpty(name))
              throw new ArgumentException("Name must be defined");
              this.name = name;
              }

              I also do not want to see the following. The following might require try/catch somewhere but logging the exception twice does nothing but provide confusion. So the question becomes what does the one try/catch do that the other does not?

              private void ProcessTxn()
              {
              try
              {
              ...
              }
              catch(Exception e)
              {
              __log.Error("Failed to process txn", e);
              throw;
              }
              }

              public void Process()
              {
              try
              {
              PrepareTxn();
              ProcessTxn();
              SaveTxn();
              }
              catch(Exception e)
              {
              __log.Error("Failed to process", e);
              throw;
              }
              }

              F Offline
              F Offline
              fjdiewornncalwe
              wrote on last edited by
              #13

              I think the discussion isn't about the inherent value of a try-catch block. It is the problems associated with simply making an exception go away with no logging or anything in an empty try catch.

              I wasn't, now I am, then I won't be anymore.

              1 Reply Last reply
              0
              • T thomforum

                Dear All -- Forgive me if I am being greedy. Upon writing a function header say "Private void FntName()" is there a way the two curly braces and the try catch block is automatically inserted. :) cheers

                L Offline
                L Offline
                Lost User
                wrote on last edited by
                #14

                You'd want to handle the ThreadException[^]. If you want to swallow exceptions, do it there - after logging them or something like that. There's an example on the page on setting up basic exception-handling.

                I are Troll :suss:

                1 Reply Last reply
                0
                • T thomforum

                  Dave -- Tell me one instance where you wouldn't prefer placing a try/catch in a method. cheers

                  P Offline
                  P Offline
                  Pete OHanlon
                  wrote on last edited by
                  #15

                  You should only use a try/catch if you plan to do something with the exception. Exception handling is intended to provide a defense mechanism, where you can actually handle the exception - what's the point of just consuming it? If you just catch the exception then you don't know that part of your code encountered a problem, so you end up masking problems from a user. As an example, what happens if you have a network connection open and connectivity is lost? If you are writing to the network stream, it's a good idea to know that it's closed unexpectedly during a stream write, so you can inform the user that the write didn't complete successfully.

                  thomforum wrote:

                  Tell me one instance where you wouldn't prefer placing a try/catch in a method.

                  This, effectively, is blind optimism. Use exception handling for what it's intended for.

                  I have CDO, it's OCD with the letters in the right order; just as they ruddy well should be

                  Forgive your enemies - it messes with their heads

                  My blog | My articles | MoXAML PowerToys | Onyx

                  1 Reply Last reply
                  0
                  • T thomforum

                    Dave -- Tell me one instance where you wouldn't prefer placing a try/catch in a method. cheers

                    D Offline
                    D Offline
                    Dave Kreskowiak
                    wrote on last edited by
                    #16

                    When I want the exception to bubble up to a higher level to be handled at a business process level where I can centralize problem logging and abort whatever transaction is going on at the time, which is most of the time. Doing it your way would limit the exception to that function, where you'd have to throw a new exception to get it to go higher. But, don't take my word for it. There's tons of articles on the subject: Google Results[^]

                    A guide to posting questions on CodeProject[^]
                    Dave Kreskowiak

                    1 Reply Last reply
                    0
                    • T thomforum

                      Dear All -- Forgive me if I am being greedy. Upon writing a function header say "Private void FntName()" is there a way the two curly braces and the try catch block is automatically inserted. :) cheers

                      RaviBeeR Offline
                      RaviBeeR Offline
                      RaviBee
                      wrote on last edited by
                      #17

                      Yes. See this[^] code snippet. /ravi

                      My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com

                      1 Reply Last reply
                      0
                      • T thomforum

                        Dear All -- Forgive me if I am being greedy. Upon writing a function header say "Private void FntName()" is there a way the two curly braces and the try catch block is automatically inserted. :) cheers

                        A Offline
                        A Offline
                        abinmaths
                        wrote on last edited by
                        #18

                        to add try catch block u type try and give two tab entry using key board u will get the try catch block automaticly

                        1 Reply Last reply
                        0
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • World
                        • Users
                        • Groups