fightstarr20
fightstarr20

Reputation: 12628

Python selenium error handling

I have a python selenium script that runs through a loop like this...

for i, refcode in enumerate(refcode_list):

    try:
        source_checkrefcode()
    except TimeoutException:
        pass
        csvWriter.writerow([refcode, 'error', timestamp])

If there is a problem during the source_checkrefcode then the script crashes with an error.

How can I add error handling to this loop so that it just moves to the next item instead of crashing?

Upvotes: 2

Views: 11189

Answers (2)

Vardhman Patil
Vardhman Patil

Reputation: 517

I agree with Hassan's Answer. But if you use continue then you won't process any other block of code.

for i, refcode in enumerate(refcode_list):
    try:
        source_checkrefcode()
    except Exception as e:
        if 'particular message' in str(e):
            # Do the following
            # if you don't want to stop for loop then just continue
            continue
    # another code of block will skip. Use pass or continue as per your requirement.

You must understand the difference between pass and continue Link

Upvotes: 0

Hassan Mehmood
Hassan Mehmood

Reputation: 1402

You can add a check over exception message, below is the sample code for your understanding.

for i, refcode in enumerate(refcode_list):
    try:
        source_checkrefcode()
    except Exception as e:
        if 'particular message' in str(e):
            # Do the following
            # if you don't want to stop for loop then just continue
            continue

Upvotes: 10

Related Questions