0
点赞
收藏
分享

微信扫一扫

关于Python的学习记录(十九_自定义异常)

异常处理

异常抛出

Python 主动抛出异常,一般使用 raise 语句来抛出一个指定的异常。

raise 语法格式如下:

raise 异常类型(异常信息)

  1. 异常类型 是一个 Python 内置的异常类型或自定义的异常类型,用于指定抛出的异常的类型。
  2. 异常信息 是一个字符串,用于描述异常的详细信息。

主动抛出一个异常:

x = 10
if x > 5:
    raise Exception('x 不能大于 5。x 的值为: {}'.format(x))
# Traceback (most recent call last):
#   File "<stdin>", line 2, in <module>
# Exception: x 不能大于 5。x 的值为: 10

这里的 Exception 就是 Python 内置的异常类,在大部分情况下,都可以直接抛出该异常来中断程序,并在调用处捕获并处理。

自定义异常

对于异常的学习就是我们对面向对象编程的一次完美复习。对于 Exception 和 上节课学到的ZeroDivisionError 来说,是不是非常像是 Person 和 Student 的关系呢?接下来我们就带着这个思路来一起写一个自定义异常吧。假设异常的名称叫 NotFoundException。其实我们只需要定义该类,并继承 Exception,就结束了,代码如下:

class NotFoundException(Exception):
    pass # pass 是一个占位符语句,用于占据一个代码块中的位置
		 #表示该位置上什么也不做。它的作用是为了保持程序结构的完整性,避免因缺少内容而导致语法错误。

抛出自定义异常并捕获

class NotFoundException(Exception):
    pass

try:
    raise NotFoundException('发生了自定义异常')
except NotFoundException as e:
    print(e) # 发生了自定义异常

举报

相关推荐

0 条评论