How to Continue a Loop After Catching Exception in Try ... Except

how to continue for loop after exception?

Your own answer is still wrong on quite a few points...

import logging
logger = logging.getLogger(__name__)

def do_connect(self):
"""Connect to all hosts in the hosts list"""
for host in self.hosts:
# this one has to go outside the try/except block
# else `client` might not be defined.
client = paramiko.SSHClient()
client.connect(host['ip'], port=int(host['port']), username=host['user'], timeout=2)

# you only want to catch specific exceptions here
except paramiko.SSHException as e:
# this will log the full error message and traceback
logger.exception("failed to connect to %(ip)s:%(port)s (user %(user)s)", host)

# here you want a `else` clause not a `finally`
# (`finally` is _always_ executed)

How to continue a loop after catching exception in try ... except

As suggested by @JonClements what solved my problem was to use error_bad_lines=False in the pd.read_csv so it just skipped that lines causing trouble and let me execute the rest of the for loop.

Continue executing loop after catching an exception in try/catch

put your try/catch inside your while loop:

    while (option != 0) {
final Scanner keyb = new Scanner(;
try {
switch (option) {

} catch (Exception InputMismachException) {
System.out.println("\nPlease Enter a Valid Number\n");
option = menuSystem();

Python: Continue looping after exception

You could handle the exception where it is raised. Also, use a context manager when opening files, it makes for simpler code.

with open(hostsFile, 'r') as f:
for line in f:
line = line.strip()
if not line:

epoch = str(time.time())

conn = urllib.urlopen(line)
print epoch + ": Connection successful, status code for " + line + " is " + str(conn.code) + "\n"
except IOError:
print epoch + ": Connection unsuccessful, unable to connect to server, potential routing issues\n"

Continue a while loop after exception

From :

"If the translation is successful, the scanner advances past the input that matched."

Ah, but what if the translation is not successful? In that case, the scanner does not advance past any input. The bad input data remains as the next thing to be scanned, so the next iteration of the loop will fail just like the previous one--the loop will keep trying to read the same bad input over and over.

To prevent an infinite loop, you have to advance past the bad data so that you can get to something the scanner can read as an integer. The code snippet below does this by calling

    Scanner input = new Scanner(;
try {
int choice = input.nextInt();
System.out.println("Input was " + choice);
} catch (InputMismatchException e){
String bad_input =;
System.out.println("Bad input: " + bad_input);

Continue for loop after exception java

You want to use try catch blocks to do this, like so

for (int i = 0; i < Recipients_To.length; i++) 
try {
catch (YourException e){
//Do some thing to handle the exception

This catches the potential issue and will still continue with the for loop once the exception has been handled.

Catch exception and continue try block in Python

No, you cannot do that. That's just the way Python has its syntax. Once you exit a try-block because of an exception, there is no way back in.

What about a for-loop though?

funcs = do_smth1, do_smth2

for func in funcs:
except Exception:
pass # or you could use 'continue'

Note however that it is considered a bad practice to have a bare except. You should catch for a specific exception instead. I captured for Exception because that's as good as I can do without knowing what exceptions the methods might throw.

Related Topics

Leave a reply