Python 空指针异常解析
在Python中,空指针异常主要通过None
关键字或者getattr()
、dir()
等操作来引发。
例如:
# 通过None直接引发异常
none_obj = None
func_call(none_obj) # func_call需要一个对象
# 通过getattr引发异常
obj = {}
try:
getattr(obj, 'non_existent_key')) # 这里会抛出AttributeError
except AttributeError as e:
print(e)
# 通过dir引发异常
class MyClass:
def __init__(self):
selfattribute = "value"
@property
def non_existent_attribute(self):
return "not present in class"
try:
dir(MyClass)
except TypeError as e:
print(e)
上述代码会抛出AttributeError
和TypeError
,这些异常都是由空指针引发的。
还没有评论,来说两句吧...