Seminko Posted May 22, 2018 Posted May 22, 2018 (edited) I have multiple nested For loops. Is there a way to jump to the next iteration of the topmost main For loop if there is an error in one of the nested ones? Example: For $i = 0 to 10 For $j = 0 to 7 For $k = 0 to 5 If @error Then "exit this $k loop as well as the $j loop, skip the rest of the $i loop's code and start over with the next $i" EndIf Next Next "rest of the code to be avoided if there's an @error" Next I know about ExitLoop, so escaping the $k and $j loops is easy but how do I avoid the code that comes after the two nested loops? Sure, I could set a bool var and do a simple If Then like this...: $loopError = false For $i = 0 to 10 For $j = 0 to 7 For $k = 0 to 5 If @error Then $loopError = true ExitLoop 2 EndIf Next Next If $loopError = false Then "rest of the code" EndIf Next ...but I suspect there must be another, prettier solution. Edited May 22, 2018 by Seminko
kosamja Posted May 22, 2018 Posted May 22, 2018 For $i = 0 to 10 ConsoleWrite($i & @CRLF) For $j = 0 to 7 For $k = 0 to 5 If $i = 4 Then SetError(1) If @error Then ExitLoop Next If @error Then ExitLoop Next If @error Then ExitLoop Next
Seminko Posted May 22, 2018 Author Posted May 22, 2018 8 minutes ago, kosamja said: For $i = 0 to 10 ConsoleWrite($i & @CRLF) For $j = 0 to 7 For $k = 0 to 5 If $i = 4 Then SetError(1) If @error Then ExitLoop Next If @error Then ExitLoop Next If @error Then ExitLoop Next Well that's the thing, i don't want to exit the $i loop, i want the next iteration. In other words, if the script is on $i = 5 and there's an error, I want it to go right to $i = 6.
BrewManNH Posted May 22, 2018 Posted May 22, 2018 Try ContinueLoop. Seminko 1 If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator
Seminko Posted May 22, 2018 Author Posted May 22, 2018 1 hour ago, BrewManNH said: Try ContinueLoop. Jesus, I'm stupid. I was checking ContinueLoop in the documentation but for some reason gathered it was not what I wanted at all :-D Anyways, thanks Brew!
BrewManNH Posted May 22, 2018 Posted May 22, 2018 It's ok, because the help file doesn't mention For loops in the description. If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now