Python基础-报错处理try和raise机制

来源:互联网 发布:手机区域截图软件 编辑:程序博客网 时间:2024/05/17 03:23

try 异常捕获机制

这块和java的try机制大同小异

运行示例

#!/usr/bin/env python3# -*- coding: utf-8 -*-# try 机制try:    a = 100 / 0except ZeroDivisionError as e:    print(e)finally:    pass

运行结果

D:\PythonProject\sustudy>python main.pydivision by zero

raise 主动抛出异常

示例代码

# 主动抛出异常机制 raisedef raiseDemo():    print("请输入")    a = int(input())    try:        if(a == 0):            raise ValueError("invalid %d" % (a))        c = 100 / a    except Exception as e:        print(e)    finally:        pass

运行结果

D:\PythonProject\sustudy>python main.py请输入0invalid 0

try和raise结合

示例

#!/usr/bin/env python3# -*- coding: utf-8 -*-# try 机制 try...exceptdef exceptDemo():    try:        raiseDemo()    except Exception as e:        print(e)    finally:        print("finally")# 主动抛出异常机制 raisedef raiseDemo():    print("请输入")    a = int(input())    try:        if(a == 0):            raise ValueError("invalid %d" % (a))    except Exception as e:        print(e)    finally:        c = 100 / aexceptDemo()

运行结果

D:\PythonProject\sustudy>python main.py请输入0invalid 0division by zerofinally