Python中的异常处理总结

yizhihongxing

1.异常分类

错误Error:

原因 示例
笔误 像变量名写错,造成的语法错误
逻辑错误 算法写错了,例如原本逻辑是求和,但写成了乘积
函数或者类使用错误 这类也归为逻辑错误

写代码时,错误是可以避免的。

异常Exception

有时候程序写的没有问题,也没有语法错误,但在某些情况下依然出现一些意外,导致程序无法正常执行,就是通常所说的异常。

例如open函数操作一个文件,但该文件不存在,这就是一个异常。

异常不可能全部避免的。

2.健壮的代码

健壮的代码要避免错误,捕获处理各种异常 。

主动抛出异常

  • raise 语句显式抛出异常,

捕获异常

try:
待捕获异常的代码块
except [异常类型]:
异常处理

示例代码

num1 = int(input("请输入第一个整数:"))
num2 = int(input("请输入第二个整数:"))
try:
	res = num1/num2
except ZeroDivisionError as e:
	print("除数不能为0:", e )

3.捕获异常:

(1.try ... except..

num1 = int(input("请输入第一个整数:"))
num2 = int(input("请输入第二个整数:"))
try:
	res = num1/num2
except ZeroDivisionError as e:
	print("除数不能为0:", e )

(2.try..except...finally...

#Python学习交流QQ群:711312441
num1 = int(input("请输入第一个整数:"))
num2 = int(input("请输入第二个整数:"))
try:
	res = num1/num2
except ZeroDivisionError as e:
	print("除数不能为0:", e )
finally:
	print("执行完毕")

finally 不管结果如何,最后都会执行

(3.else子句 较少使用

try语句中的else,当try语句没有异常捕获时,执行else语句

try:
    pass
except Exception:
    pass
else:
    pass
finally:
    pass

总结:

try:
    pass
except Exception: #捕获异常处理
    pass
else:  #没有异常发生时执行
    pass
finally: #退出try,最终一定会执行
    pass

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中的异常处理总结 - Python技术站

(0)
上一篇 2023年3月31日
下一篇 2023年3月31日

相关文章

  • Python学习: 网络请求模块 urllib 、requests

    Python 网络请求模块 urllib 、requests Python 给人的印象是抓取网页非常方便,提供这种生产力的,主要依靠的就是 urllib、requests这两个模块。 urlib 介绍 urllib.request 提供了一个 urlopen 函数,来实现获取页面。支持不同的协议、基本验证、cookie、代理等特性。 urllib 有两个版本…

    Python开发 2023年4月2日
    00
  • 什么是Python装饰器?

    装饰器是Python中非常重要的一个概念,如果你会Python的基本语法,你可以写出能够跑通的代码,但是如果你想写出高效、简洁的代码,我认为离不开这些高级用法,当然也包括本文要讲解的装饰器,就如同前面提到的代码调试神器PySnooper一样,它就是主要通过装饰器调用的方式对Python代码进行调试。 1.什么是Python装饰器? 顾名思义,从字面意思就可以…

    Python开发 2023年3月31日
    00
  • Python学习:配置日志的几种方式

    作为开发者,我们可以通过以下3种方式来配置logging: 1)使用Python代码显式的创建loggers, handlers和formatters并分别调用它们的配置函数;2)创建一个日志配置文件,然后使用fileConfig()函数来读取该文件的内容;3)创建一个包含配置信息的dict,然后把它传递个dictConfig()函数; 需要说明的是,log…

    2023年4月2日
    00
  • Python数据类型间的相互转化及字符编码

    字符间的相互转化: 数字与字符串之间的相互转化 1、数字(整数与浮点数) –> 字符串 :只需要在要转化的数字前加str进行转换就可以 num = 10.5 str_num = str(num) print(str_num) 2、字符串转化为数字 –> 使用 int 或 float 方法进行转化 1 整数字符串转化为数字 (当字符串中只有数字…

    Python开发 2023年4月2日
    00
  • python中可以处理word文档的模块:docx模块

    一.docx模块 Python可以利用python-docx模块处理word文档,处理方式是面向对象的。也就是说python-docx模块会把word文档,文档中的段落、文本、字体等都看做对象,对对象进行处理就是对word文档的内容处理。 二.相关概念 如果需要读取word文档中的文字(一般来说,程序也只需要认识word文档中的文字信息),需要先了解pyth…

    Python开发 2023年3月31日
    00
  • python教程:一个 list 使用 for 遍历,边循环边删除的问题

    今天由于要对一个 list 数据类型写一个循环删除的程序(这是小编第一次对于 list 操作),但发现一个奇异问题,来,我们来看看代码跟效果: # 初始化一个 list 列表,为了下边的方便比较,我就使用跟 list 索引来做 list 的元素 datas = [0,1,2,3,4] # 打印元素组,方便比较 print(datas) #使用 for 遍历 …

    Python开发 2023年4月2日
    00
  • Python中的交互库-os库

    一.介绍 os库是与操作系统相关的库,它提供了通用的基本的操作系统交互功能。os库是Python的标准库之一,它里面包含几百个处理函数,能够处理与操作系统相关的功能,包括路径操作、进程管理、环境参数设置等几类功能。其中路径操作是利用os.path子库,它用于处理文件以及目录的路径,并获得相关的信息;进程管理指启动系统中的其它程序的功能;环境参数指获得系统软硬…

    python 2023年5月10日
    00
  • Python学习:构造函数与析构函数

    1.构造函数: __init__(self), 这个方法就是构造函数,在实例化的时候自动调用。 所有如果这个函数内有打印的方法,当实例出来的时候会打印里面的信息。 __init__方法的第一个参数永远都是self,表示创建实例本身,在__init__方法内部,可以把各种属性绑定到self,因为self指向创建的实例本身。 有了__init__方法,在创建实例…

    Python开发 2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部