Python十类常见异常类型(附捕获以及异常处理方式)

这篇具有很好参考价值的文章主要介绍了Python十类常见异常类型(附捕获以及异常处理方式)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


Python十类常见异常类型(附捕获以及异常处理方式)

前言

大家好,我是辣条哥!今天给大家讲讲我们刚开始写代码是都会出现的问题-我们刚开始常见的异常以及处理方法!

异常是指在程序运行过程中出现的错误或异常情况,例如除以0、访问不存在的变量等。Python提供了一些内置的异常类型,同时也支持自定义异常类型。

想找辣条哥的话直接戳这里,辣条之前的一些Python相关都可以拿走:Python十类常见异常类型(附捕获以及异常处理方式)

十类异常

1.TypeError

当操作或函数应用于不适当类型的对象时引发。
例如:

a = 5 + '10'

这个例子中,我们试图将整数5和字符串’10’相加,这是不允许的,因为它们是不同的类型。

2.ValueError

当函数或操作的参数具有正确的类型但不合法时引发。
例如:

int('abc')

这个例子中,我们试图将字符串’abc’转换为整数,但是’abc’不是一个有效的整数,因此会引发ValueError异常。

3.NameError

当尝试访问一个未定义的变量时,会抛出NameError异常。
例如:

print(x)

这个例子中,我们尝试打印变量x的值,但是x没有被定义,因此会引发NameError异常。

4.IndexError

当尝试访问列表、元组或字符串中不存在的索引时引发。
例如:

a = [1, 2, 3]
print(a[3])

这个例子中,我们试图访问列表a的第四个元素,但是a只有三个元素,因此会引发IndexError异常。

5.KeyError

当尝试访问字典中不存在的键时引发。
例如:

d = {'a': 1, 'b': 2}
print(d['c'])

这个例子中,我们试图访问字典d中不存在的键’c’,因此会引发KeyError异常。

6.ZeroDivisionError

当尝试除以零时引发。
例如:

a = 5 / 0

这个例子中,我们试图将5除以0,这是不允许的,因为除数不能为零,因此会引发ZeroDivisionError异常。

7.IOError

当尝试读取不存在的文件或无法访问文件时引发。
例如:

f = open('nonexistent_file.txt', 'r')

这个例子中,我们试图打开一个不存在的文件nonexistent_file.txt,因此会引发IOError异常。

8.ImportError

当尝试导入不存在的模块或包时引发。
例如:

import nonexistent_module

这个例子中,我们试图导入一个不存在的模块nonexistent_module,因此会引发ImportError异常。

9.AttributeError

当尝试访问对象不存在的属性时引发。
例如:

s = 'hello'
print(s.uppercase())

这个例子中,我们试图调用字符串s的不存在的方法uppercase(),因此会引发AttributeError异常。

10.KeyboardInterrupt

当用户中断程序执行时引发。
例如:

while True:
    try:
        x = input('Enter a number: ')
        break
    except KeyboardInterrupt:
        print('You pressed Ctrl+C!')

这个例子中,我们在一个无限循环中等待用户输入一个数字,但是如果用户按下Ctrl+C,程序会引发KeyboardInterrupt异常,我们可以捕获这个异常并打印一条消息。

异常捕获以及处理

在Python中,可以使用try-except语句来捕获异常并进行处理。try语句块中包含可能会出现异常的代码,如果出现异常,则会跳转到except语句块中进行处理。可以使用多个except语句块来处理不同类型的异常,也可以使用一个except语句块来处理所有类型的异常。

例如:

try:
    x = 1 / 0
except ZeroDivisionError:
    print("除以0错误")

除了使用内置的异常类型,还可以自定义异常类型。自定义异常类型通常继承自Exception类或其子类。例如:

class MyException(Exception):
    pass

try:
    raise MyException("自定义异常")
except MyException as e:
    print(e)

在Python中,还可以使用finally语句块来定义无论是否出现异常都需要执行的代码。例如:

try:
    x = 1 / 0
except ZeroDivisionError:
    print("除以0错误")
finally:
    print("finally语句块")

总结

以上是Python中常见的异常类型和异常处理方法。在编写程序时,应该尽可能地避免出现异常情况,同时也应该合理地处理可能出现的异常。

↓ ↓ ↓ 下方辣条名片,各种源码+案例 ↓ ↓ ↓

Python十类常见异常类型(附捕获以及异常处理方式)文章来源地址https://www.toymoban.com/news/detail-480509.html

到了这里,关于Python十类常见异常类型(附捕获以及异常处理方式)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • selenium常见异常以及处理方法

    python常见异常以及处理方法 . . 一、 TypeError: ‘module’ object is not callable 二、“chromedriver” executable needs to be in path 三、selenium 点击元素报错 ElementClick 四、selenium 使用 clear 无法清除文本框内容 WEB自动化_键盘事件 五、下拉框是 input 封装的,无法操作 WEB自动化_文件上传(in

    2023年04月08日
    浏览(34)
  • 深度解析C++异常处理机制:分类、处理方式、常见错误及11新增功能

    异常是程序在运行过程中出现非正常情况的处理机制。当出现异常时程序会停止运行并调用异常处理程序。 异常可以分为内置异常和自定义异常 2.1 内置异常 C++ 标准库提供了许多预定义的异常类,称为内置异常,包括以下几种: std::exception :所有标准异常类的基类。 std::

    2024年01月18日
    浏览(45)
  • 【C++】异常处理 ① ( 异常概念引入 | 抛出异常语法 | 捕获异常语法 | 异常捕获流程 | 异常处理代码示例 )

    异常是一种 特殊的程序流控制机制 , 用于处理程序中可能出现的错误或异常情况 ; 当程序执行错误时 , 由 throw 抛出异常 , 并即跳转到相应的异常处理程序中 ; 如果没有适当的异常处理程序处理该异常 , 程序会崩溃终止 ; 异常与函数对比 : 函数 是一种 以 栈结构 展开的

    2024年02月04日
    浏览(51)
  • java异常处理机制(二)之异常处理与捕获

    1 Error(错误): 是指程序无法处理的错误,表示运行应用程序时比较严重的问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时JVM(Java 虚拟机)出现的问题。 2 异常(Exception): 是指在程序执行时由于程序处理逻辑上的错误而导致程序中断的一种指令流。通俗的

    2024年02月05日
    浏览(108)
  • 爬虫异常处理:异常捕获与容错机制设计

    作为一名专业的爬虫程序员,每天使用爬虫IP面对各种异常情况是我们每天都会遇到的事情。 在爬取数据的过程中,我们经常会遇到网络错误、页面结构变化、被反爬虫机制拦截等问题。在这篇文章中,我将和大家分享一些关于如何处理爬虫异常情况的经验和技巧。通过异常

    2024年02月11日
    浏览(44)
  • 解析Python爬虫常见异常及处理方法

    作为专业爬虫程序猿长期混迹于爬虫ip解决方案中,我们经常会遇到各种各样的异常情况。在爬虫开发过程中,处理这些异常是不可或缺的一部分。本文将为大家总结常见的Python爬虫异常,并分享相应的处理方法,帮助你避免绊倒在爬虫之路上。 一、网络连接异常 1、 Timeou

    2024年02月12日
    浏览(31)
  • 爬虫异常捕获与处理方法详解

    Hey!作为一名专业的爬虫代理供应商,我今天要和大家分享一些关于爬虫异常捕获与处理的方法。在进行爬虫操作时,我们经常会遇到各种异常情况,例如网络连接错误、请求超时、数据解析错误等等。这些异常情况可能会导致程序崩溃或数据丢失,因此,我们需要学会如何

    2024年02月11日
    浏览(45)
  • php捕获Fatal error错误与异常处理

    在php5的版本中,如果出现致命错误是无法被 try {} catch 捕获的,如下所示: 运行脚本,最终php报出一个Fatal error,并程序中止 有些时候,我们需要捕获这种错误,并做相应的处理。 那就需要用到 register_shutdown_function() 和 error_get_last() 来捕获错误 对于php7中的错误捕获,因为

    2024年02月19日
    浏览(59)
  • 匿名函数和常见是内置函数(配合匿名使用)和for循环的原理,异常的捕获

    匿名函数 常见的内置函数(配合匿名函数使用) 可迭代对象 迭代器对象 for循环内部原理 异常捕获

    2024年02月09日
    浏览(45)
  • 玩转Mysql系列 - 第20篇:异常捕获及处理详解

    这是Mysql系列第20篇。 环境:mysql5.7.25,cmd命令中进行演示。 代码中被[]包含的表示可选,|符号分开的表示可选其一。 需求背景 我们在写存储过程的时候,可能会出现下列一些情况: 插入的数据违反唯一约束,导致插入失败 插入或者更新数据超过字段最大长度,导致操作失

    2024年02月09日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包