python中自定义异常/raise关键字抛出异常,有直接抛出异常的形式
python中自定义异常/raise关键字抛出异常,有直接抛出异常的形式
在编程过程中合理的使用异常可以使得程序正常的执行。有直接抛出异常的形式,也能通过捕获异常加入异常时的业务逻辑处理。
创建自定义异常类案例
class MyException(Exception):
def __init__(self, msg):
'''
:param msg: 异常信息
'''
self.msg = msg
使用raise关键字抛出异常案例
raise关键字抛出异常主要是为了在特定的条件。
def throw_exception(num=0):
'''
测试异常抛出函数
:param num: 数值
:return:
'''
if num == 10:
raise MyException('num不能等于10')
else:
print('当前num=',num)
throw_exception(10)
在调用throw_exception函数后,传入值为10时则抛出下面的异常。
# raise MyException('num不能等于10')
# __main__.MyException: num不能等于10
使用try...except捕获异常案例
使用try关键字捕获异常,可以在异常处理时加入自己的业务处理逻辑不至于使异常直接抛出。
def catch_exception(num=0):
'''
测试异常处理函数
:param num: 数值
:return:
'''
try:
throw_exception(num)
except MyException as e:
print('进入异常处理:当前num=',num)
#学习中遇到问题没人解答?小编创建了一个Python学习交流群:711312441
catch_exception(10)
调用catch_exception函数进行异常处理后,不会将异常抛出而是进行正常的业务处理,按照我们预期的计划进行处理。
# 进入异常处理:当前num= 10
相关内容
- 【Python】【OpenCV】OCR识别(二)——透视变换,针对上
- [python]常用配置读取方法,此处主要记录从环境变
- Python 学习笔记(十九)--Django REST Framework之GenericAPIVi
- Python中numpy出现has no attribute '_no_nep50_warning&#
- Python手相识别教程2手相历史与书籍,手相学的法则适用
- python的metaclass,它的函数签名是这样的
- Python 学习笔记(十八)--Django REST Framework之GenericAPIVi
- Python手相识别教程1什么是手相术?,你可以在相对较短
- Python 潮流周刊第 34 期(摘要),愿景:帮助所有读者
- wasm+pygbag让你在网页上也能运行Python代码:【贪吃蛇游
评论关闭