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
  1. Home
  2. Other Discussions
  3. The Weird and The Wonderful
  4. Does this count?

Does this count?

Scheduled Pinned Locked Moved The Weird and The Wonderful
helpquestion
17 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.
  • J jamie550

    Would this be better?

    if (somethingIsWrong)
    {
    //handle
    }
    if (somethingElseIsWrong)
    {
    //handle
    }

    //Everything is good, we can do the actual work.

    Because I don't see the point of throwing a exception only to catch it in the same place. 1: No more negative statements 2: The errors would be something that doesn't deserve exceptions like incorrect input (IIRC) 3: This shouldn't be a problem 4: Don't know

    L Offline
    L Offline
    Luc Pattyn
    wrote on last edited by
    #4

    I'm afraid you've missed the joke icon. The coding horrors forum was the right place to put it. :cool:

    Luc Pattyn [Forum Guidelines] [My Articles]


    This month's tips: - before you ask a question here, search CodeProject, then Google; - the quality and detail of your question reflects on the effectiveness of the help you are likely to get; - use PRE tags to preserve formatting when showing multi-line code snippets.


    J 1 Reply Last reply
    0
    • L Luc Pattyn

      I'm afraid you've missed the joke icon. The coding horrors forum was the right place to put it. :cool:

      Luc Pattyn [Forum Guidelines] [My Articles]


      This month's tips: - before you ask a question here, search CodeProject, then Google; - the quality and detail of your question reflects on the effectiveness of the help you are likely to get; - use PRE tags to preserve formatting when showing multi-line code snippets.


      J Offline
      J Offline
      jamie550
      wrote on last edited by
      #5

      :doh: I haven't been here long enough to recognize all these icons... :( :)

      L 1 Reply Last reply
      0
      • J jamie550

        :doh: I haven't been here long enough to recognize all these icons... :( :)

        L Offline
        L Offline
        Luc Pattyn
        wrote on last edited by
        #6

        No problem. You'll catch on soon enough. :)

        Luc Pattyn [Forum Guidelines] [My Articles]


        This month's tips: - before you ask a question here, search CodeProject, then Google; - the quality and detail of your question reflects on the effectiveness of the help you are likely to get; - use PRE tags to preserve formatting when showing multi-line code snippets.


        M 1 Reply Last reply
        0
        • J jamie550

          Is there a reason for this appearing all over the code???

          try
          {
          if (something is wrong)
          throw new exceptionaboutwhateveriswring();
          //If nothing was wrong
          ...
          ...
          ...
          continue work
          }
          catch (whatever exception was just thrown)
          {
          Console.WriteLine(information about the error);
          }

          P Offline
          P Offline
          PIEBALDconsult
          wrote on last edited by
          #7

          Sure does. Yeah, that's bad; catching your own exception is like laughing at your own joke. Or other behaviours less kid sister friendly.

          1 Reply Last reply
          0
          • J jamie550

            Is there a reason for this appearing all over the code???

            try
            {
            if (something is wrong)
            throw new exceptionaboutwhateveriswring();
            //If nothing was wrong
            ...
            ...
            ...
            continue work
            }
            catch (whatever exception was just thrown)
            {
            Console.WriteLine(information about the error);
            }

            L Offline
            L Offline
            leppie
            wrote on last edited by
            #8

            Probably written by a VB'r. I have seen that pattern used abundantly.

            xacc.ide - now with TabsToSpaces support
            IronScheme - 1.0 alpha 3 out now

            D 1 Reply Last reply
            0
            • L leppie

              Probably written by a VB'r. I have seen that pattern used abundantly.

              xacc.ide - now with TabsToSpaces support
              IronScheme - 1.0 alpha 3 out now

              D Offline
              D Offline
              Dan Neely
              wrote on last edited by
              #9

              Only because C# doesn't support On Error Resume Next :((

              You know, every time I tried to win a bar-bet about being able to count to 1000 using my fingers I always get punched out when I reach 4.... -- El Corazon

              S P 2 Replies Last reply
              0
              • D Dan Neely

                Only because C# doesn't support On Error Resume Next :((

                You know, every time I tried to win a bar-bet about being able to count to 1000 using my fingers I always get punched out when I reach 4.... -- El Corazon

                S Offline
                S Offline
                Stephen Hewitt
                wrote on last edited by
                #10

                dan neely wrote:

                Only because C# doesn't support On Error Resume Next

                Thankfully.

                Steve

                1 Reply Last reply
                0
                • L Luc Pattyn

                  No problem. You'll catch on soon enough. :)

                  Luc Pattyn [Forum Guidelines] [My Articles]


                  This month's tips: - before you ask a question here, search CodeProject, then Google; - the quality and detail of your question reflects on the effectiveness of the help you are likely to get; - use PRE tags to preserve formatting when showing multi-line code snippets.


                  M Offline
                  M Offline
                  MarkB777
                  wrote on last edited by
                  #11

                  "You'll **catch** on soon enough" :D.

                  Mark Brock Click here to view my blog

                  Z 1 Reply Last reply
                  0
                  • D Dan Neely

                    Only because C# doesn't support On Error Resume Next :((

                    You know, every time I tried to win a bar-bet about being able to count to 1000 using my fingers I always get punched out when I reach 4.... -- El Corazon

                    P Offline
                    P Offline
                    PIEBALDconsult
                    wrote on last edited by
                    #12

                    No, that would be

                    try
                    {
                    // One statement
                    }
                    catch
                    {
                    // Ignore Exception
                    }

                    L 1 Reply Last reply
                    0
                    • P PIEBALDconsult

                      No, that would be

                      try
                      {
                      // One statement
                      }
                      catch
                      {
                      // Ignore Exception
                      }

                      L Offline
                      L Offline
                      leppie
                      wrote on last edited by
                      #13

                      PIEBALDconsult wrote:

                      // Ignore Exception

                      Oops, I think you meant, return null. ;P

                      xacc.ide - now with TabsToSpaces support
                      IronScheme - 1.0 alpha 3 out now

                      P 1 Reply Last reply
                      0
                      • L leppie

                        PIEBALDconsult wrote:

                        // Ignore Exception

                        Oops, I think you meant, return null. ;P

                        xacc.ide - now with TabsToSpaces support
                        IronScheme - 1.0 alpha 3 out now

                        P Offline
                        P Offline
                        PIEBALDconsult
                        wrote on last edited by
                        #14

                        Nah, actually I should have had several instances of that construct, but I didn't want to take up much space

                        try { statement } catch{}
                        try { statement } catch{}
                        try { statement } catch{}
                        try { statement } catch{}
                        ...

                        1 Reply Last reply
                        0
                        • M MarkB777

                          "You'll **catch** on soon enough" :D.

                          Mark Brock Click here to view my blog

                          Z Offline
                          Z Offline
                          zildjohn01
                          wrote on last edited by
                          #15

                          ooh that's bad haha

                          1 Reply Last reply
                          0
                          • J jamie550

                            Is there a reason for this appearing all over the code???

                            try
                            {
                            if (something is wrong)
                            throw new exceptionaboutwhateveriswring();
                            //If nothing was wrong
                            ...
                            ...
                            ...
                            continue work
                            }
                            catch (whatever exception was just thrown)
                            {
                            Console.WriteLine(information about the error);
                            }

                            M Offline
                            M Offline
                            Mr PoorEnglish
                            wrote on last edited by
                            #16

                            never heard about this? :laugh:

                            1 Reply Last reply
                            0
                            • L Luc Pattyn

                              Hi, that is a very clever piece of code. The normal approach:

                              if (!something\_is\_wrong) {
                                  // ... do some more
                              } else {
                                  // ... show some error message
                              }
                              

                              has several shortcomings: 1. the tests use negative statements, so they are error prone. 2. the error messages do not include class names and line numbers automatically 3. problems don't get encapsulated in objects 4. it disregards the exception trapping functionality available in Visual Studio So basically it is old style, and against all modern OO principles. :)

                              Luc Pattyn [Forum Guidelines] [My Articles]


                              This month's tips: - before you ask a question here, search CodeProject, then Google; - the quality and detail of your question reflects on the effectiveness of the help you are likely to get; - use PRE tags to preserve formatting when showing multi-line code snippets.


                              A Offline
                              A Offline
                              AJGermano
                              wrote on last edited by
                              #17

                              This is a function of mine, could I get a critique on this? The reason for it being there is because exceptions coming out of the lower level library were not very descriptive or helpful to the guy trying to understand where the config was screwed so this layer was added to get some extra info into the exceptions that were coming up if files were missing and so on. Public Shared Function GetInt(ByVal iniFile As String, ByVal sectionName As String, ByVal keyName As String) As Integer Dim i As Integer Dim ConfigFile As IniConfigSource Dim ConfigSection As IConfig Try 'check file exists If (Not System.IO.File.Exists(iniFile)) Then Throw New Exception("Config file does not exist: " & iniFile) End If 'Access the file ConfigFile = New IniConfigSource(iniFile) 'Get section ConfigSection = ConfigFile.Configs(sectionName) 'check section exists If (IsNothing(ConfigSection)) Then Throw New Exception("Config section does not exist: " & iniFile & vbTab & sectionName) End If 'get key and check it is a valid value Try i = ConfigSection.GetInt(keyName) Catch ex As Exception Throw New Exception("Exception attempting to access integer key: " & iniFile & vbTab & sectionName & vbTab & keyName) End Try Return i Catch ex As Exception 'Exceptions come in here Throw ex End Try End Function

                              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