1.构建一个模块的层级包
在d盘下建立一个目录名称为:m_a
m_a目录下建立一个子目录:m_b
两个目录下分别建立一个__init__.py文件,文件内容为空
m_a目录下建立一个文件a.py,代码如下:
def sum(a,b):
return a+b
m_b目录下建立一个文件b.py,代码如下:
def mul(a,b):
return a*b
在在d盘下建立一个测试文件,x.py,代码如下:
#encoding=utf-8
import m_a.a
import m_a.m_b.b
print(m_a.a.sum(1,3))
print(m_a.m_b.b.mul(2,4))
2.实现一个除法函数,并处理异常
#encoding=utf-8
def div(a,b):
try:
return a/b
except Exception as e:
print(e)
print(div(10,5))
print(div(1,0))
3. 引发一个异常,并将它抛除到上层函数,上层函数捕获该异常并处理
#encoding=utf-8
def div(a,b):
try:
return a/b
except Exception as e:
raise
try:
div(2,0)
except Exception as e:
print(e)
注:raise使用方法解释:
触发异常语法格式如下:raise[SomeExcpetion[, args[, traceback]]]语句中的SomeExcpetion是一个异常的类型,如NameError,可选;参数args是一个异常参数值,通常为元组,可选,如果不提供为“None”。最后一个参数也是可选的,实际很少用,如果存在,是跟踪异常对象。如果有其他参数(arg或traceback),就必须提供SomeExcpetion。