1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
|
try:
#! 4 attribute-error
str.not_existing
except TypeError:
pass
try:
str.not_existing
except AttributeError:
#! 4 attribute-error
str.not_existing
pass
try:
import not_existing_import
except ImportError:
pass
try:
#! 7 import-error
import not_existing_import
except AttributeError:
pass
# -----------------
# multi except
# -----------------
try:
str.not_existing
except (TypeError, AttributeError): pass
try:
str.not_existing
except ImportError:
pass
except (NotImplementedError, AttributeError): pass
try:
#! 4 attribute-error
str.not_existing
except (TypeError, NotImplementedError): pass
# -----------------
# detailed except
# -----------------
try:
str.not_existing
except ((AttributeError)): pass
try:
#! 4 attribute-error
str.not_existing
except [AttributeError]: pass
# Should be able to detect errors in except statement as well.
try:
pass
#! 7 name-error
except Undefined:
pass
# -----------------
# inheritance
# -----------------
try:
undefined
except Exception:
pass
# should catch everything
try:
undefined
except:
pass
# -----------------
# kind of similar: hasattr
# -----------------
if hasattr(str, 'undefined'):
str.undefined
str.upper
#! 4 attribute-error
str.undefined2
#! 4 attribute-error
int.undefined
else:
str.upper
#! 4 attribute-error
str.undefined
|