Python入门教程(三十一)Python的Try和Except

目录
  • 异常处理
  • 多个异常
  • Else
  • Finally
  • 引发异常

try 块允许您测试代码块以查找错误。

except 块允许您处理错误。

finally 块允许您执行代码,无论 try 和 except 块的结果如何。

异常处理

当我们调用 Python 并发生错误或异常时,通常会停止并生成错误消息。

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

实例

try 块将生成异常,因为 x 未定义:

try:
  print(x)
except:
  print("An exception occurred")

运行实例

由于 try 块引发错误,因此会执行 except 块。

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

实例

该语句将引发错误,因为未定义 x:

print(x)

多个异常

您可以根据需要定义任意数量的 exception 块,例如,假如您要为特殊类型的错误执行特殊代码块:

实例

如果 try 块引发 NameError,则打印一条消息,如果是其他错误则打印另一条消息:

try:
  print(x)
except NameError:
  print("Variable x is not defined")
except:
  print("Something else went wrong")

运行实例

Else

如果没有引发错误,那么您可以使用 else 关键字来定义要执行的代码块:

实例

在本例中,try 块不会生成任何错误:

try:
  print("Hello")
except:
  print("Something went wrong")
else:
  print("Nothing went wrong")

运行实例

Finally

如果指定了 finally 块,则无论 try 块是否引发错误,都会执行 finally 块。

实例

try:
  print(x)
except:
  print("Something went wrong")
finally:
  print("The 'try except' is finished")

运行实例

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

实例

试图打开并写入不可写的文件:

try:
  f = open("demofile.txt")
  f.write("Lorum Ipsum")
except:
  print("Something went wrong when writing to the file")
finally:
  f.close()

运行实例

程序可以继续,而且不会打开文件对象。

引发异常

作为 Python 开发者,您可以选择在条件发生时抛出异常。

如需抛出(引发)异常,请使用 raise 关键词。

实例

假如 x 小于 0,则引发异常并终止程序:

x = -1
if x < 0:
  raise Exception("Sorry, no numbers below zero")

运行实例

raise 关键字用于引发异常。

你能够定义所引发异常的类型、以及打印给用户的文本。

实例

如果 x 不是整数,则引发 TypeError:

x = "hello"
if not type(x) is int:
  raise TypeError("Only integers are allowed")

运行实例

到此这篇关于Python入门教程(三十一)Python的Try和Except的文章就介绍到这了,更多相关Python的Try和Except内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python入门教程(二十六)Python的模块

    目录 什么是模块? 创建模块 使用模块 模块中的变量 为模块命名 重命名模块 内建模块 使用 dir() 函数 从模块导入 什么是模块? 请思考与代码库类似的模块. 模块是包含一组函数的文件,希望在应用程序中引用. 创建模块 如需创建模块,只需将所需代码保存在文件扩展名为 .py 的文件中: 实例 在名为 mymodule.py 的文件中保存代码: def greeting(name): print("Hello, " + name) 使用模块 现在,我们就可以用 import 语句来

  • Python入门教程(二十九)Python的RegEx正则表达式

    RegEx 或正则表达式是形成搜索模式的字符序列. RegEx 可用于检查字符串是否包含指定的搜索模式. RegEx 模块 Python 提供名为 re 的内置包,可用于处理正则表达式. 导入 re 模块: import re Python 中的 RegEx 导入 re 模块后,就可以开始使用正则表达式了: 实例 检索字符串以查看它是否以 “China” 开头并以 “country” 结尾: import re txt = "China is a great country" x =

  • Python入门教程(二十八)Python中的JSON

    JSON 是用于存储和交换数据的语法. JSON 是用 JavaScript 对象表示法(JavaScript object notation)编写的文本. Python 中的 JSON Python 有一个名为 json 的内置包,可用于处理 JSON 数据. 实例 导入 json 模块: import json 解析 JSON - 把 JSON 转换为 Python 若有 JSON 字符串,则可以使用 json.loads() 方法对其进行解析. 结果将是 Python 字典 实例 把 JS

  • Python入门教程(二十七)Python的日期

    目录 Python 日期 日期输出 创建日期对象 strftime() 方法 Python 日期 Python 中的日期不是其自身的数据类型,但是我们可以导入名为 datetime 的模块,把日期视作日期对象进行处理. 实例 导入 datetime 模块并显示当前日期: import datetime x = datetime.datetime.now() print(x) 运行实例 2023-02-14 20:43:20.889388 日期输出 如果我们执行上面的代码,结果将是: 2019-0

  • Python入门教程(二十五)Python的作用域

    目录 局部作用域 函数内部的函数 全局作用域 命名变量 Global 关键字 变量仅在创建区域内可用.这称为作用域. 局部作用域 在函数内部创建的变量属于该函数的局部作用域,并且只能在该函数内部使用. 实例 在函数内部创建的变量在该函数内部可用: def myfunc(): x = 100 print(x) myfunc() 运行实例 100 函数内部的函数 如上例中所示,变量 x 在函数外部不可用,但对于函数内部的任何函数均可用: 实例 能够从函数内的一个函数访问局部变量: def myfun

  • Python入门教程(二十一)Python的数组

    目录 前言 数组 一.什么是数组? 访问数组元素 数组长度 循环数组元素 添加数组元素 删除数组元素 二.数组的内置方法 前言 在Python中没有内置对数组的支持,但可以使用 Python 列表代替 数组 数组用于在单个变量中存储多个值: 创建一个包含汽车品牌的数组: cars = ["Porsche", "Volvo", "BMW"] 一.什么是数组? 数组是一种特殊变量,能够一次包含多个值. 如果我们有一个项目列表(例如,汽车品牌列表),将

  • Python入门教程(十六)Python的if逻辑判断分支

    目录 Python 条件和 If 语句 缩进 Elif Else 简写 If 简写 If … Else And Or 嵌套 If pass 语句 Python 条件和 If 语句 Python 支持来自数学的常用逻辑条件: 等于:a == b不等于:a != b小于:a < b小于等于:a <= b大于:a > b大于等于:a >= b 这些条件能够以多种方式使用,最常见的是“if 语句”和循环. if 语句使用 if 关键词来写. 实例 If 语句: a = 66 b = 200

  • Python入门教程(二十)Python的Lambda表达式

    目录 语法 lambda 函数可接受任意数量的参数: 为何使用 Lambda 函数? lambda 函数是一种小的匿名函数. lambda 函数可接受任意数量的参数,但只能有一个表达式. 语法 lambda arguments : expression 执行表达式并返回结果: 实例 一个 lambda 函数,它把作为参数传入的数字加 10,然后打印结果: x = lambda a : a + 10 print(x(5)) 运行实例 17 lambda 函数可接受任意数量的参数: 实例 一个 la

  • Python入门教程(十九)python的函数详解

    目录 创建函数 调用函数 参数 默认参数值 以 List 传参 返回值 关键字参数 任意参数 pass 语句 递归 函数是一种仅在调用时运行的代码块. 可以将数据(称为参数)传递到函数中. 函数可以把数据作为结果返回. 创建函数 在 Python 中,使用 def 关键字定义函数: 实例 def my_function(): print("Hello from a function") 调用函数 如需调用函数,请使用函数名称后跟括号: 实例 def my_function(): pri

  • python入门教程之基本算术运算符

    一.算术运算符 运算符 + - * / % **(幂)求次方 //(取整除,向下取整)如:9//2 =4 二.比较运算符 运算符 == != <>(不等于,类似!=) < > >= <= #举例说明: x = 10 y = 20 print(x > y) # False print(x < y) # True print(x >= y) # False print(x <= y) # True print(x == y) # False prin

  • Python入门教程之三元运算符的使用详解

    目录 使用三元运算符的简单方法 使用元组.字典和 lambda 的直接方法 三元运算符可以写成嵌套的 if-else 在三元运算符中使用打印功能 要点 三元运算符也称为条件表达式,是根据条件为真或假来评估某些内容的运算符.它在2.5 版本中被添加到 Python 中. 它只是允许在单行中测试条件,替换多行 if-else,使代码紧凑. 语法 : [on_true] if [expression] else [on_false] 使用三元运算符的简单方法 # 演示条件运算符的程序 a, b = 1

  • Python入门教程之运算符重载详解

    目录 如何重载Python中的运算符 在 Python中重载比较运算符 重载相等和小于运算符 用于运算符重载的 Python 魔术方法或特殊函数 二元运算符 比较运算符 赋值运算符 一元运算符 运算符重载意味着赋予超出其预定义的操作含义的扩展含义.例如运算符 + 用于添加两个整数以及连接两个字符串和合并两个列表.这是可以实现的,因为 '+' 运算符被 int 类和 str 类重载.您可能已经注意到,相同的内置运算符或函数对不同类的对象显示不同的行为,这称为运算符重载. # Python 程序显示

  • Python入门教程(十七)Python的While循环

    目录 Python 循环 while 循环 break 语句 continue 语句 else 语句 Python 循环 Python 有两个原始的循环命令: while 循环 for 循环 while 循环 如果使用 while 循环,只要条件为真,我们就可以执行一组语句. 实例 只要 i 小于 7,打印 i: i = 1 while i < 7: print(i) i += 1 运行实例 1 2 3 4 5 6 注释:请记得递增 i,否则循环会永远继续. while 循环需要准备好相关的变量

随机推荐