In Python höre ich oft, dass es besser ist, "um Verzeihung zu bitten" (Ausnahmefang), als "um Erlaubnis zu bitten" (Typ- / Zustandsprüfung). In Bezug auf die Durchsetzung der Enten-Typisierung in Python ist dies try: x = foo.bar except AttributeError: pass else: do(x) besser oder schlechter als if...