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.
  • F fjdiewornncalwe

    OriginalGriff wrote:

    On Error Resume Next

    Goto Happyland

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

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

    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.

    "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

    F 1 Reply Last reply
    0
    • 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