一文了解Python3的错误和异常

 更新时间:2022年09月13日 10:47:16   作者:世界尽头与你  
Python 的语法错误或者称之为解析错,是初学者经常碰到的。即便 Python 程序的语法是正确的,在运行它的时候,也有可能发生错误。运行期检测到的错误被称为异常。本文就来和大家聊聊Python3的错误和异常,感兴趣的可以学习一下

1.错误和异常

Python 的语法错误或者称之为解析错,是初学者经常碰到的

语法分析器会指出错的一行,并且在最先找到的错误的位置标记一个小小的箭头。

即便 Python 程序的语法是正确的,在运行它的时候,也有可能发生错误。运行期检测到的错误被称为异常。

大多数的异常都不会被程序处理,都以错误信息的形式展现

2.异常处理

try/except

异常捕捉可以使用 try/except 语句。

以下例子中,让用户输入一个合法的整数,但是允许用户中断这个程序(使用 Control-C 或者操作系统提供的方法)。用户中断的信息会引发一个KeyboardInterrupt 异常。

while True:
    try:
        x = int(input("请输入一个数字:"))
        break
    except ValueError:
        print("您输出的不是数字!")
        # 请输入一个数字:ee
        # 您输出的不是数字!
        # 请输入一个数字:12 

一个 try 语句可能包含多个except子句,分别来处理不同的特定的异常。最多只有一个分支会被执行

try/except…else

try/except 语句还有一个可选的 else 子句,如果使用这个子句,那么必须放在所有的 except 子句之后。

else 子句将在 try 子句没有发生任何异常的时候执行。

try-finally

try-finally 语句无论是否发生异常都将执行最后的代码。

以下实例中 finally 语句无论异常是否发生都会执行:

while True:
    try:
        x = int(input("请输入一个数字:"))
        break
    except ValueError:
        print("您输出的不是数字!")
        # 请输入一个数字:ee
        # 您输出的不是数字!
        # 请输入一个数字:12
    finally:
        print("我无论如何都会被执行!")
        # 请输入一个数字:12
        # 我无论如何都会被执行!

3.抛出异常

Python 使用 raise 语句抛出一个指定的异常。

raise语法格式如下:

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

以下实例如果 x 大于 5 就触发异常:

x = 10
if x > 5:
    raise Exception('{}大于5了!'.format(x))
    # Exception: 10大于5了!

4.assert(断言)

Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常。

断言可以在条件不满足程序运行的情况下直接返回错误,而不必等待程序运行后出现崩溃的情况,例如我们的代码只能在 Linux 系统下运行,可以先判断当前系统是否符合条件。

语法格式如下:

assert expression

等价于:

if not expression:
    raise AssertionError

assert 后面也可以紧跟参数:

assert expression [, arguments]

等价于:

if not expression:
    raise AssertionError(arguments)

以下实例判断当前系统是否为 Linux,如果不满足条件则直接触发异常,不必执行接下来的代码:

import sys

assert ('linux' in sys.platform), "该代码只能在Linux上执行"

到此这篇关于一文了解Python3的错误和异常的文章就介绍到这了,更多相关Python错误 异常内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用Python创建多功能文件管理器的代码示例

    使用Python创建多功能文件管理器的代码示例

    在本文中,我们将探索一个使用Python的wxPython库开发的文件管理器应用程序,这个应用程序不仅能够浏览和选择文件,还支持文件预览、压缩、图片转换以及生成PPT演示文稿的功能,需要的朋友可以参考下
    2024-08-08
  • 使用Qt QSS绘制简单美化界面功能

    使用Qt QSS绘制简单美化界面功能

    这篇文章主要介绍了使用Qt QSS绘制简单美化界面,本文以绘制登录界面为例,创建一个继承自Qwidget的设计师界面类,为了使得控件排放整齐有序,可以使用layout布局进行辅助,感兴趣的朋友跟随小编一起看看吧
    2022-10-10
  • Jupyter Notebook安装及使用方法解析

    Jupyter Notebook安装及使用方法解析

    这篇文章主要介绍了Jupyter Notebook安装及使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • python利用多线程+队列技术爬取中介网互联网网站排行榜

    python利用多线程+队列技术爬取中介网互联网网站排行榜

    这篇文章主要介绍了python利用多线程+队列技术爬取中介网互联网网站排行榜,文章基于python的相关内容展开详细介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • Python中CSV文件的读写库操作方法

    Python中CSV文件的读写库操作方法

    Python 中提供了一个官方的标准库来处理这种文件类型,那就是 CSV 库,这篇文章主要介绍了Python中CSV文件的读写库,需要的朋友可以参考下
    2022-12-12
  • Python pygame 项目实战事件监听

    Python pygame 项目实战事件监听

    这篇文章主要介绍了Python pygame 项目实战事件监听,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • 一篇文章带你了解python标准库--os模块

    一篇文章带你了解python标准库--os模块

    在本篇内容里小编给大家整理的是关于Python中os模块及用法相关知识点,有兴趣的朋友们可以学习下,希望能给你带来帮助
    2021-08-08
  • Python实现OFD文件转PDF

    Python实现OFD文件转PDF

    OFD 文件是由中国国家标准化管理委员会制定的国家标准,是一种开放式文档格式,具有高度可扩展性和可编辑性,本文主要介绍了如何利用Python实现OFD文件转PDF,需要的可以参考下
    2024-10-10
  • Python中的fileinput模块的简单实用示例

    Python中的fileinput模块的简单实用示例

    这篇文章主要介绍了Python中的fileinput模块实用示例,文中的示例是使用其来便利硬盘分区下的文本文件并打印其中行的长度,需要的朋友可以参考下
    2015-07-07
  • 基于Python编写一个微博抽奖小程序

    基于Python编写一个微博抽奖小程序

    本文将利用Python编写一个微博抽奖小程序,梦想总是要有的,万一靠在微博上自动抽奖暴富了呢~文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-05-05

最新评论