您的位置:首页 > 娱乐 > 明星 > python异常处理

python异常处理

2024/10/6 12:19:08 来源:https://blog.csdn.net/2401_86120670/article/details/141400852  浏览:    关键词:python异常处理

在 Python 中,异常处理是通过 tryexceptelsefinally 语句来实现的。这些语句可以帮助你捕获和处理程序运行时发生的错误,以提高程序的稳定性和用户体验。

一:基础结构

try:# 可能会引发异常的代码
except :print("异常")
else:#没有异常就执行代码
finally:#有没有异常都会执行的代码

一个简单的异常处理实现:

程序1

程序1input_str = input('输入数字')try:input_int = int(input_str)print(f'你输入了{input_int,input_int2}')except:print(f'异常',e)else:print(f'没有异常')finally:print(f'有无异常我都会执行')print(f'函数正常结束')

输入一个数字,若它为数字则会输出输入的数字,若为不能转换的数据类型,就会返回异常

二:异常的类型

异常也分为好多类型:

except Exception as e:                未知异常,只要不满足以下异常,就满足这条异常

except TypeError as e:                类型转换异常

except ValueError as e:               值转换异常

except ZeroDivisionError as e:    为0异常

except FileNotFoundError as e:   找不到文件异常

三,自定义异常类

1.实现方式

定义一个类,使其继承 Exception 类

class LTOne(Exception):def __init__(self, msg):super().__init__(msg)

2.如何使用

在1中,定义了一个类,继承了Exception 类,它就有了Exception 类的异常性质

程序2

程序2while True:input_str = input('输入正整数')try:input_value = int(input_str)try:if input_value < 1:raise LTOne('输入数字小于1,请重新输入')# 手动加入自定义的异常类 raiseexcept LTOne as e:print(e)else:print('奇数' if input_value % 2 else '偶数')except ValueError as e:print(f'输入内容不能转为数字,请重新输入')

在程序1述程序中,我们如果输入的值为0或者为负数,它也会报错

我们自定义了一个异常类,它有异常处理的方法和属性

使用     raise 自定义异常类名 (在其中输入出现异常时的输出)

这样通过进一步的完善,程序2就实现了更加完善的功能

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com