unstructured exception handling

+1 Ankit Ojha · November 29, 2015
Module Module1

    Sub Main()
        Dim a, b, c As Integer
        On Error GoTo la
        Console.WriteLine("enter a and b")
        a = Console.ReadLine()
        b = Console.ReadLine()
        c = a / b
        Console.WriteLine("result" & c)
la:
        Console.WriteLine("caught an exception")
        Resume Next



    End Sub

End Module


Why in the code "caught an exception" gets executed 3 times

Post a Reply

Replies

Oldest  Newest  Rating
0 Ankit Ojha · November 29, 2015
/images/forum/upload/2015-11-29/163b3cb2c3047119f4335ba02d3d2c7d.JPG
0 Fernando Portilla · November 30, 2015
You are trying :

  1. Integer division by 0

  2. To assign the result of this to another Integer



You need an 'Exit Sub' statement before the 'la:' label; otherwise the code underneath is executed one more time after
the statement 'Console.WriteLine("result" & c)' is processed.

Have a look at your Inmediate Window (CTRL-G) for a detail of exceptions generated by your code.

BTW 'On Error Goto (Label)'  and 'RESUME NEXT' is fairly old style coding practice, going back to Microsoft GWBASIC in MS-DOS and CP/M. I would say the code is deprecated nowadays. You might have a look at try...catch instead.
0 Ankit Ojha · December 3, 2015
Thanks

yes i know we use structured exception handling today it's just i have a viva for my end semester so wanted to know that.
  • 1

Visual Basic

107,152 followers
About

One of the first products to provide a graphical environment and a paint metaphor for developing user interfaces.

Links
Moderators
Bucky Roberts Administrator