python——异常处理、自定义异常

本文介绍了Python中异常处理的基本概念及使用方法,包括try-except语句的应用、自定义异常类的创建与抛出异常的方式。通过示例代码详细解释了如何确保程序稳定运行并处理各种可能发生的错误。

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

异常处理(Exception):
1、什么是异常(exception)?
—程序在运行过程中,因为某些原因(BUG、用户误操作、软硬件、网络……),引起的程序奔溃,无法正常运行的现象,叫做异常
2、为什么处理异常?
—代码更加稳定的运行,异常处理就是一种容错!!
3、如何处理?
—用try关键字抓取异常

try:
    num = int(input("请输入一个整数:"))	
    a = num / 0

except ValueError as e:
	print("出现异常,信息是:", e)
	num = int(input("注意,必须是这个整数:"))
except ZeroDivisionError as e:
    print("除数不能为零!!!")
except Exception as e:
    print("其他异常")
else:
    print("如果try中所有都没有异常,则进入else")

finally:
     print("必须要执行的代码,不管存不存在异常!!")

print(f'{num} + 10 = {num + 10}')

—结果如下:
在这里插入图片描述
4、try - except语法规则

try:
	# 可能出现异常代码
	
except 异常1:
	# 异常1的处理代码
except 异常2:
	# 异常2的处理代码
except Exception:
	# 其他异常的处理代码

else:
	# 没有发生异常时的代码
finally:
	# 必须要执行的代码,不管存不存在异常,常用于资源回收、数据备份等操作

5、自定义异常的使用
—系统自带的异常并不能适用于所有情况,有时候我们需要自己定义异常
—(1)自定义异常类
——和类的定义一致,不过继承的是Exception父类

class MyException(Exception):# 一般继承Exception类,不继承BaseException类
    """ 这个一个自定义异常类,用来处理一些系统没有指定的异常情况"""
    def __init__(self, msg):
		Exception.__init__(self, msg)# 调用Exception类的初始化函数对自定义异常类进行初始化

—(2)抛出异常
—raise关键字
——作用:抛出异常信息,目的就是向上层(调用者)传递一些错误信息,抛出的异常可以用try - except语法进行抓取

def test():
    num = int(input("请输入一个小于10整数:"))
    if num > 10:
        # 出错了,抛出异常!!
        raise MyException("输入的数字不能大于10")
    print("GAME OVER")

# 抓取异常
try:
    test()

except MyException as e:
    print(e)

结果如下:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值