错误代码如何与用户通知?
错误代码:
print("Hello, world!")
错误信息:
Hello, world!
NameError: 'module' object has no attribute 'world'
解决方案:
错误代码中缺少 module
模块的 world
属性。为了通知用户,需要使用 except
语句捕获错误并打印错误信息。
print("Hello, world!")
try:
module = __import__("module_name")
module_object = getattr(module, "world")
print(module_object)
except ModuleNotFoundError:
print("Module not found.")
except AttributeError:
print("Attribute not found.")
运行代码:
运行代码后,会输出以下错误信息:
Hello, world!
ModuleNotFoundError: 'module_name' object has no attribute 'world'
解释:
-
try
语句捕获ModuleNotFoundError
错误。 -
except ModuleNotFoundError
语句如果模块名称正确,则捕获AttributeError
错误。 -
except AttributeError
语句捕获缺少world
属性的错误。
注意:
-
__import__
导入模块时会隐式执行getattr()
方法。 -
getattr()
方法会返回指定属性的值,如果属性不存在,则会返回None
。