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. The Lounge
  3. I hoped that had died...

I hoped that had died...

Scheduled Pinned Locked Moved The Lounge
16 Posts 12 Posters 1 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

    ...just answered a VB .NET question in QA, and the first line of his method is...

    On Error Resume Next

    I feel dirty for just having typed it. X| Why isn't this abortion dead? Who is teaching people about this? And why? If you see anyone recommending it, can you please, please, give them a swift kick where it really hurts?

    Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...

    S Offline
    S Offline
    Sinisa Hajnal
    wrote on last edited by
    #7

    I saw it and my first advice was to remove it. Then to improve the code :p Unfortunately, no, its not dead, there are still VB6 programmers - I'm currently working on a project that was written by VB6 turned VB.NET programmer and I'm still refactoring whenever I get the chance. I have DAL interface with all data access methods defined in there...and I don't have time to split it so I continue adding to it when changing existing code. It is at 300+ methods right now. With two concrete classes implementing it. X|

    1 Reply Last reply
    0
    • OriginalGriffO OriginalGriff

      ...just answered a VB .NET question in QA, and the first line of his method is...

      On Error Resume Next

      I feel dirty for just having typed it. X| Why isn't this abortion dead? Who is teaching people about this? And why? If you see anyone recommending it, can you please, please, give them a swift kick where it really hurts?

      Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...

      Sander RosselS Offline
      Sander RosselS Offline
      Sander Rossel
      wrote on last edited by
      #8

      I know an old VB dinosaur who does it almost right...

      Try
      ' Code... Mostly like:
      Dim sCode As String = 123 ' Yes, this is possible with Option Strict Off (the default).
      Dim Id As Integer ' From hungarian to PascalCase...
      Dim someOtherVar As String ' And then correct camelCast, all in one method.
      Catch (ex As Excpetion)
      Log(Err.Message) ' Err, because why use ex?
      End Try

      I used to see this pre-.NET VB mixed with VB.NET a lot :rolleyes:

      Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.

      Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

      Regards, Sander

      1 Reply Last reply
      0
      • OriginalGriffO OriginalGriff

        ...just answered a VB .NET question in QA, and the first line of his method is...

        On Error Resume Next

        I feel dirty for just having typed it. X| Why isn't this abortion dead? Who is teaching people about this? And why? If you see anyone recommending it, can you please, please, give them a swift kick where it really hurts?

        Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...

        K Offline
        K Offline
        Kenneth Haugland
        wrote on last edited by
        #9

        Ah, you would love Rx then, there is something called Retry there :D Click and cry[^]

        OriginalGriffO 1 Reply Last reply
        0
        • K Kenneth Haugland

          Ah, you would love Rx then, there is something called Retry there :D Click and cry[^]

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

          Retry actually makes sense: sometimes you have to wait for something to "wake up" so doing it three times before failing isn't a bad idea. Be a nice addon to C#:

          retry (3)
          {
          MyOperation();
          }
          catch (Exception ex)
          {
          ...
          }

          Or even just

          try (3)
          {
          MyOperation();
          }
          catch (Exception ex)
          {
          ...
          }

          Mind you, it'd also be nice to have try with a timespan timeout which caused a catch sometimes.

          Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...

          "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

          K 1 Reply Last reply
          0
          • OriginalGriffO OriginalGriff

            Retry actually makes sense: sometimes you have to wait for something to "wake up" so doing it three times before failing isn't a bad idea. Be a nice addon to C#:

            retry (3)
            {
            MyOperation();
            }
            catch (Exception ex)
            {
            ...
            }

            Or even just

            try (3)
            {
            MyOperation();
            }
            catch (Exception ex)
            {
            ...
            }

            Mind you, it'd also be nice to have try with a timespan timeout which caused a catch sometimes.

            Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...

            K Offline
            K Offline
            Kenneth Haugland
            wrote on last edited by
            #11

            I think you can with Rx, but It will involve some nasty code. If you look in the link I posted you can retry infinitely many times:

            public static void RetrySample<T>(IObservable<T> source)
            {
            source.Retry().Subscribe(t=>Console.WriteLine(t)); //Will always retry
            Console.ReadKey();
            }

            So all you have to do is to enclose the subscription in an Observer, and set a timerinterval for desubscription by using an IObserver class.

            1 Reply Last reply
            0
            • OriginalGriffO OriginalGriff

              ...just answered a VB .NET question in QA, and the first line of his method is...

              On Error Resume Next

              I feel dirty for just having typed it. X| Why isn't this abortion dead? Who is teaching people about this? And why? If you see anyone recommending it, can you please, please, give them a swift kick where it really hurts?

              Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...

              Z Offline
              Z Offline
              ZurdoDev
              wrote on last edited by
              #12

              OriginalGriff wrote:

              Why isn't this abortion dead?

              When you have a function that calls an external process and you don't care if it generates an error or not, then it works great. If it does generate an error it's an external process and nothing you can do about it and you still want the rest of your code to run.

              There are only 10 types of people in the world, those who understand binary and those who don't.

              1 Reply Last reply
              0
              • OriginalGriffO OriginalGriff

                ...just answered a VB .NET question in QA, and the first line of his method is...

                On Error Resume Next

                I feel dirty for just having typed it. X| Why isn't this abortion dead? Who is teaching people about this? And why? If you see anyone recommending it, can you please, please, give them a swift kick where it really hurts?

                Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...

                Richard DeemingR Offline
                Richard DeemingR Offline
                Richard Deeming
                wrote on last edited by
                #13

                There was a "question" back in April which was basically a rant about how C# sucked because it didn't have this "feature". The OP was insistent that his code was perfect, and he just wanted to ignore Microsoft's errors. :doh:


                "These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer

                "These people looked deep within my soul and assigned me a number based on the order in which I joined" - Homer

                G 1 Reply Last reply
                0
                • OriginalGriffO OriginalGriff

                  ...just answered a VB .NET question in QA, and the first line of his method is...

                  On Error Resume Next

                  I feel dirty for just having typed it. X| Why isn't this abortion dead? Who is teaching people about this? And why? If you see anyone recommending it, can you please, please, give them a swift kick where it really hurts?

                  Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...

                  J Offline
                  J Offline
                  James McCullough
                  wrote on last edited by
                  #14

                  The worst part of this is that I find a whole bunch of vendors that do this crap, too! I deal with Dynamics GP, where customizations can be written in VBA. I had a major error in one window where it kept dumping the user into VBA, bypassing all security. I contacted the vendor, and (sort of politely) requested they get their **** together. They sent me updated code... First line?

                  On error resume next

                  I lost it! They were confused why we changed vendors within a week after that...

                  1 Reply Last reply
                  0
                  • Richard DeemingR Richard Deeming

                    There was a "question" back in April which was basically a rant about how C# sucked because it didn't have this "feature". The OP was insistent that his code was perfect, and he just wanted to ignore Microsoft's errors. :doh:


                    "These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer

                    G Offline
                    G Offline
                    Gary Wheeler
                    wrote on last edited by
                    #15

                    Richard Deeming wrote:

                    The OP was insistent that his code was perfect, and he just wanted to ignore Microsoft's errors.

                    You know, sometimes natural selection is just too damned slow.

                    Software Zen: delete this;

                    1 Reply Last reply
                    0
                    • OriginalGriffO OriginalGriff

                      ...just answered a VB .NET question in QA, and the first line of his method is...

                      On Error Resume Next

                      I feel dirty for just having typed it. X| Why isn't this abortion dead? Who is teaching people about this? And why? If you see anyone recommending it, can you please, please, give them a swift kick where it really hurts?

                      Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...

                      M Offline
                      M Offline
                      Mark_Wallace
                      wrote on last edited by
                      #16

                      I used it once, in a mini-prog that just creates empty, numbered ZIP or RAR files. The code was so simple that any potential "real" errors were dealt with without hardly having to think about them, so the only thing to worry about was if someone tried to create files with the same filenames as existing file (which I'd set to fail). It simply wasn't worth the effort of catching the error, so I just let it happen and Resumed Next.

                      I wanna be a eunuchs developer! Pass me a bread knife!

                      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