Python07程序异常处理

本文深入探讨了Python中的异常处理机制,包括try-except结构、自定义异常的创建以及finally和else子句的使用。通过具体代码示例,展示了如何有效处理ZeroDivisionError等常见异常,并实现了异常的多级捕获。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

异常处理结构1:

try:
    代码块
except:(异常类型)
    代码块

举例:

def foo(a):
    try:b *= 100/a
except  ZeroDivisionError:
    print("除数不为零")
    return  -1
except:
    print("未知错误")
    return -2

执行结果:
foo(0)
除数不为零
foo(“abc”)
未知错误

异常处理结构2:

try:
    代码块
except:   #except多组
    代码块
else:     #未出现异常时的返回
    代码块
finally:  #一定要执行的内容
    代码块

举例1:

try:
    print(1/a)
except:
    print("except")
else:
    print("else")
finally:
    print("finally")

执行结果:
输入
a = 1
输出
1.0
else
finally
输入
a = 0
输出
except
finally
举例2:

def f(a):
    try:
        print(1/a)
        return 1/a
    except:
        print("except")
        return  "except"
    else:
        print("else")
        return "else"
    finally:
        print("finally")
        return "finally"

执行结果:
输入
f(1)
输出
1.0
finally
‘finally’
输入
f(0)
输出
except
finally
‘finally’
自定义一个异常

class DemoException(Exception):
    def __init__(self, name, msg = "自定义异常"):
        self.name = name
        self.msg =  msg
    try:
        raise DemoException("脚本错误")
    except DemoException as e:
        print("{}异常的报警是{}".format(e.name,  e.msg))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值