首页 > 编程语言 >Python 异常处理:try、except、else 和 finally 的使用指南

Python 异常处理:try、except、else 和 finally 的使用指南

时间:2023-11-04 15:32:32浏览次数:38  
标签:错误 Python except else try finally print 异常

异常处理

当发生错误(或我们称之为异常)时,Python 通常会停止执行并生成错误消息。

try 块用于测试一段代码是否存在错误。

except 块用于处理错误。

else 块用于在没有错误时执行代码。

finally 块用于无论 tryexcept 块的结果如何都要执行的代码。

可以使用 try 语句来处理这些异常:

try:
  print(x)
except:
  print("发生了一个异常")

由于 try 块引发了一个错误,因此将执行 except 块。

如果没有 try 块,程序将崩溃并引发错误:

print(x)

多个异常

您可以定义尽可能多的异常块,例如,如果要为特定类型的错误执行特殊的代码块:

try:
  print(x)
except NameError:
  print("变量 x 未定义")
except:
  print("其他错误")

else

您可以使用 else 关键字来定义一段代码,该代码块将在没有错误引发时执行:

try:
  print("Hello")
except:
  print("出现了错误")
else:
  print("没有出错")

finally

如果指定了 finally 块,不管 try 块是否引发错误,都将执行该块:

try:
  print(x)
except:
  print("发生了错误")
finally:
  print("'try except' 完成了")

这对于关闭对象和清理资源非常有用:

try:
  f = open("demofile.txt")
  try:
    f.write("Lorum Ipsum")
  except:
    print("写入文件时出错")
  finally:
    f.close()
except:
  print("打开文件时出错")

程序可以继续运行,而不会保持文件对象处于打开状态。

引发异常

作为 Python 开发人员,您可以选择在发生条件时引发异常。

要引发(或触发)异常,请使用 raise 关键字。

x = -1

if x < 0:
  raise Exception("抱歉,不能小于零")

raise 关键字用于引发异常。

您可以定义要引发的错误类型以及要显示给用户的文本:

x = "hello"

if not type(x) is int:
  raise TypeError("只允许整数")

最后

为了方便其他设备和平台的小伙伴观看往期文章:公众号搜索Let us Coding,或者扫描下方二维码,关注公众号,即可获取最新文章。

看完如果觉得有帮助,欢迎点赞、收藏关注

标签:错误,Python,except,else,try,finally,print,异常
From: https://blog.51cto.com/xiaowange/8183193

相关文章

  • Python 异常处理:try、except、else 和 finally 的使用指南
    异常处理当发生错误(或我们称之为异常)时,Python通常会停止执行并生成错误消息。try块用于测试一段代码是否存在错误。except块用于处理错误。else块用于在没有错误时执行代码。finally块用于无论try和except块的结果如何都要执行的代码。可以使用try语句来处理这些......
  • 学JAVA用PYTHON重写day01
    packageday01;//JAVAday01importjava.util.Scanner;publicclassDemo03{/*编写收银台小程序,输入个数,单价,金额,输出找零。满100打95折;满300打90折;满500打85折;*/publicstaticvoidmain(String[]args){Scannerscanne......
  • 读取xlsm格式的文件,该表格只有一个,但是通过python读取,却显示两个表格?
    大家好,我是皮皮。一、前言前几天在最强王者交流群【wen】问了一个Python处理Excel文件相关的问题,一起来看看吧。请教问题:读取xlsm格式的文件,该表格只有一个名字为"销售明细(2)"的表格,但是通过python读取该文件,却显示两个表格,分别为:“销售明细”和“销售明细(2)”df2=pd.read_exce......
  • 音乐推荐与管理系统Python+Django网页界面+协同过滤推荐算法
    一、介绍音乐推荐与管理系统。本系统采用Python作为主要开发语言,前端使用HTML、CSS、BootStrap等技术搭建界面平台,后端使用Django框架处理请求,并基于Ajax等技术实现前端与后端的数据通信。在音乐个性推荐功能模块中采用通过Python编写协同过滤推荐算法模块,实现对当前登录用户的个性......
  • # yyds干货盘点 # 读取xlsm格式的文件,该表格只有一个,但是通过python读取,却显示两个表
    大家好,我是皮皮。一、前言前几天在最强王者交流群【wen】问了一个Python处理Excel文件相关的问题,一起来看看吧。请教问题:读取xlsm格式的文件,该表格只有一个名字为"销售明细(2)"的表格,但是通过python读取该文件,却显示两个表格,分别为:“销售明细”和“销售明细(2)”df2=pd.read_excel(‘......
  • 快速排序算法原理与python实现
    快速排序是一种不稳定的排序算法,时间复杂度O(nlogn),最差情况下时间复杂度为O(n^2)。原理是:选定待排序数组的任意元素为基准轴:pivot,通常选择数组第一个元素,保存下pivot数值。遍历数组中的其他元素,通过交换元素位置,数组被划分为两个子序列:左子序列元素值全小于等于pivot,右子序列......
  • 音乐推荐与管理系统Python+Django网页界面+协同过滤推荐算法
    一、介绍音乐推荐与管理系统。本系统采用Python作为主要开发语言,前端使用HTML、CSS、BootStrap等技术搭建界面平台,后端使用Django框架处理请求,并基于Ajax等技术实现前端与后端的数据通信。在音乐个性推荐功能模块中采用通过Python编写协同过滤推荐算法模块,实现对当前登录用户的个......
  • 在CentOS容器中安装Python 3.8
     进入已下载的CentOS容器终端:dockerrun-itcentos:7.9.2009/bin/bash在容器终端中,首先更新系统软件包列表:yumupdate安装相关依赖包以支持Python编译和构建过程:yuminstallgccopenssl-develbzip2-devellibffi-devel-y下载Python3.8的源代码包(源码包可......
  • 第一个python程序
    目标第一个HelloPython程序Python2.x与3.x版本简介执行Python程序的三种方式解释器——python/python3交互式——ipython集成开发环境——PyCharm01.第一个HelloPython程序1.1Python源程序的基本概念Python源程序就是一个特殊格式的文本文件,可以使用任意文......
  • 【小沐学Python】Python实现Web图表功能(Dash之基本功能)
    1、简介Dash是下载量最大,最值得信赖的Python框架,用于构建ML和数据科学Web应用程序。Dash是一个用来创建web应用的python库,它建立在Plotly.js(同一个团队开发)、React和Flask之上,主要的用户群体是数据分析者、AI从业者,可以帮助他们快速搭建非常美观的网页应用,而且不需要......