Python中raise语句的用法与异常触发详解

巷口听风
巷口听风
发布时间:2026-10-14| 3人浏览过
原创

本文详细介绍Python中raise语句的基本使用方法。当程序出错时,Python会自动引发异常,但开发者也可通过raise手动触发。文章解析了raise的语法格式,包括异常类型、参数及可选的跟踪对象,并通过具体代码实例演示了如何自定义异常触发条件及后续代码的执行逻辑。

Python raise语句简介

简介

在Python程序中,若发生错误,解释器会自动抛出异常。此外,开发者也可以利用raise语句主动引发异常。需要注意的是,一旦执行了raise语句,其后的代码将不再执行。

演示raise用法


try:
  s = None
  if s is None:
    print("s 是空对象")
    # 如果引发NameError异常,后面的代码将不能执行
    raise NameError
  # 这句不会执行,但是后面的except还是会走到
  print(len(s))
except TypeError:
  print("空对象没有长度")
 
s = None
if s is None:
  raise NameError
# 如果不使用try......except这种形式,那么直接抛出异常,不会执行到这里
print("is here?")

手动触发异常与语法格式

触发异常

我们可以使用raise语句来手动触发异常。

raise语句的基本语法格式如下:


raise [Exception [, args [, traceback]]]

在此语法中,Exception代表异常的类型(例如NameError),可以是标准异常中的任一种;args是用户自定义的异常参数。

最后一个参数是可选的,在实际应用中较少使用。如果存在该参数,它通常表示异常对象的跟踪信息。

raise语句实际应用示例

实例

异常可以是字符串、类或对象。Python内核提供的异常大多为实例化的类,且通常包含一个作为参数的实例。


def mye(level):
  if level < 1:
    raise Exception("Invalid level!")
    # 触发异常后,后面的代码就不会再执行
 
try:
  # 触发异常
  mye(0)
except Exception as err:
  print(1, err)
else:
  print(2)

以上即为Python中raise语句的基本使用详解,如需了解更多关于Python raise的资料,请关注本站其他相关文章。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。