exiting a for loop.

M

Microsoft

I have a for loops that goes from 1 to 256


I test the number and exception is thrown if there is an error.

How do I get the program to stop in the middle of the loop and go to the
next increment if an exception is thrown. I can only figure out how to exit
the loop.

'read the text file

line = sr.ReadLine()

Do While Not line Is Nothing

subnet = line.Remove(line.Length - 1, 1)

For ip = 1 To 256

computer = subnet & ip

' Connect to IP and send results



Dim scope As New ManagementScope("\\" & computer & "\root\cimv2")

Dim objectQuery As New ObjectQuery("select * from Win32_OperatingSystem")

Dim searcher As New ManagementObjectSearcher(scope, objectQuery)

Dim os As ManagementObject

Try

scope.Connect()

Catch ex As Exception

WOULD LIKE TO EXIT LOOP HERE AND GO ON TO NEXT NUMBER

End Try

For Each os In searcher.Get()

osname = os("caption")

dirname = os("windowsdirectory")

servername = os("name")



End If



Next os
 
C

Cor Ligthert

To do it clean

Set the try inside your for next
And when needed created 2 seperated trys

(A try block can exist inside a try block)

I hope this helps?

Cor
 
D

David

I have a for loops that goes from 1 to 256


I test the number and exception is thrown if there is an error.

How do I get the program to stop in the middle of the loop and go to the
next increment if an exception is thrown. I can only figure out how to exit
the loop.

That's a good question, IMHO, and I wonder how others would handle it.
As you've seen, there's no command to "continue" a loop, only exit it,
so the question becomes how to handle this in the clearest way. I'd
probably use a flag variable, like this...

For ip = 1 to 256

... ' do stuff
Dim connected as Boolean = False
Try
scope.Connect()
connected = True
Catch ex As Exception
End Try

if connected Then
For each os in searcher.Get()
...
Next
End If
Next
 
O

One Handed Man \( OHM - Terry Burns \)

Continue will return in VS2005, however the common practice is to use a Goto
statement and a Label at the appopriate point ( assuming that a conditional
construct does not fit ).


For x=1 to 256

. . .

. . .

if SomeConditionIsTrue Then Goto ContinueHere

. . .

. . .



ContinueHere:
next







--

OHM ( Terry Burns )
. . . One-Handed-Man . . .
If U Need My Email ,Ask Me

Time flies when you don't know what you're doing
 
H

Herfried K. Wagner [MVP]

* "Microsoft said:
I have a for loops that goes from 1 to 256


I test the number and exception is thrown if there is an error.

How do I get the program to stop in the middle of the loop and go to the
next increment if an exception is thrown. I can only figure out how to exit
the loop.

\\\
Currently, you can use a label and 'GoTo':

For i = 1 To 10
...
If...Then
GoTo NextIteration
End If
...
NextIteration:
Next i
///

In VB 2005 you can use 'Continue'.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top