So I am aware you can use try/except blocks to manipulate the output of errors, like so:
try:
print("ok")
print(str.translate)
print(str.foo)
except AttributeError:
print("oops, found an error")
print("done")
...which gives the following output:
ok
<method 'translate' of 'str' objects>
oops, found an error
done
Now, is there a way to do the following with a while loop, like while not AttributeError, like this:
while not AttributeError:
print("ok")
print(str.translate)
print(str.foo)
print("done")
which would give the same output as above, just without oops, found an error? This would reduce the need for except: pass type blocks, which are necessary but a little pointless if you have nothing to do in the except block.
I tried while not AttributeError and while not AttributeError(), which both just completely skip anything in the while block. So, is there a way to do this in Python?
Edit: This really isn't a loop per se, but the while block would run, and continue on if it encounters an error, and just continue on if it reaches the end.
try/exceptblocks as "if everything is ok" / "else". Python raise all errors, if you want to "skip" one,except AttributeError: passis the way to go. It's not pointless, you are explicitly saying you want to let this error pass (or apply another process, or whatever). EDIT: And, no there is notwhile not AttributeErrortry/exceptmethodology.