python中自定义异常/raise关键字抛出异常

打印 上一主题 下一主题

主题 924|帖子 924|积分 2772

在编程过程中合理的使用异常可以使得程序正常的执行。有直接抛出异常的形式,也能通过捕获异常加入异常时的业务逻辑处理。
创建自定义异常类案例
  1. class MyException(Exception):
  2.     def __init__(self, msg):
  3.         '''
  4.         :param msg: 异常信息
  5.         '''
  6.         self.msg = msg
复制代码
使用raise关键字抛出异常案例
raise关键字抛出异常主要是为了在特定的条件。
  1. def throw_exception(num=0):
  2.     '''
  3.     测试异常抛出函数
  4.     :param num: 数值
  5.     :return:
  6.     '''
  7.     if num == 10:
  8.         raise MyException('num不能等于10')
  9.     else:
  10.         print('当前num=',num)
  11. throw_exception(10)
复制代码
在调用throw_exception函数后,传入值为10时则抛出下面的异常。
  1. #     raise MyException('num不能等于10')
  2. # __main__.MyException: num不能等于10
复制代码
使用try...except捕获异常案例
使用try关键字捕获异常,可以在异常处理时加入自己的业务处理逻辑不至于使异常直接抛出。
  1. def catch_exception(num=0):
  2.     '''
  3.     测试异常处理函数
  4.     :param num: 数值
  5.     :return:
  6.     '''
  7.     try:
  8.         throw_exception(num)
  9.     except MyException as e:
  10.         print('进入异常处理:当前num=',num)
  11. #学习中遇到问题没人解答?小编创建了一个Python学习交流群:711312441
  12. catch_exception(10)
复制代码
调用catch_exception函数进行异常处理后,不会将异常抛出而是进行正常的业务处理,按照我们预期的计划进行处理。
  1. # 进入异常处理:当前num= 10
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

数据人与超自然意识

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表