Python 3中的异常捕获机制(try-except语句)

诸神缄默不语-个人CSDN博文目录

在编程过程中,异常的出现是难以避免的。异常指程序在执行过程中发生的不正常情况,如除数为零、文件不存在等。如果不进行处理,程序就会崩溃退出。Python提供了try-except语句来捕获并处理异常,确保程序的健壮性。

文章目录

  • try-except语句的语法
  • 捕获单个异常
  • 捕获多个异常
  • 捕获所有异常
  • 使用else和finally

try-except语句的语法

try:# 可能发生异常的代码块pass
except 异常类型1:# 发生异常类型1时执行的代码块pass
except 异常类型2:# 发生异常类型2时执行的代码块 pass
# 可以添加多个except语句用于捕获不同类型的异常
else:# 如果try代码块中没有发生异常,则执行else代码块pass
finally:# 无论try代码块是否发生异常,finally代码块都会执行pass

捕获单个异常

try:result = 10 / 0  # 发生除零异常
except ZeroDivisionError:print("除数不能为零!")

输出结果:

除数不能为零!

捕获多个异常

try:num = int(input("请输入一个数字: "))result = 10 / numprint(f"结果是: {result}")
except (ValueError, ZeroDivisionError) as e:print(f"发生了异常: {e}")

输出示例:

请输入一个数字: 0
发生了异常: division by zero

捕获所有异常

try:result = 10 / 0
except Exception as e:print(f"发生了异常: {e}")

输出结果:

发生了异常: division by zero

使用else和finally

try:num = int(input("请输入一个数字: "))result = 10 / num
except ValueError:print("输入的不是数字!")
except ZeroDivisionError:print("除数不能为零!")
else:print(f"结果是: {result}")
finally:print("无论如何,finally代码块都会执行。")

输出示例:

请输入一个数字: 5
结果是: 2.0
无论如何,finally代码块都会执行。

通过上述示例,相信您已经对Python的异常捕获机制有了一定的了解。在编程时,恰当地使用try-except语句可以有效避免程序因异常而崩溃,提高程序的健壮性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/783421.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wpf中引用自定义字体

在WPF(Windows Presentation Foundation)中,FontFamily属性用于指定控件或文本元素使用的字体。它是一个非常基础且重要的属性,影响着用户界面的视觉呈现和可读性。以下是关于WPF中FontFamily属性的一些关键信息和使用方法&#x…

如何使用固定公网地址远程访问内网Axure RP生成的网站原型web页面

文章目录 前言1.在AxureRP中生成HTML文件2.配置IIS服务3.添加防火墙安全策略4.使用cpolar内网穿透实现公网访问4.1 登录cpolar web ui管理界面4.2 启动website隧道4.3 获取公网URL地址4.4. 公网远程访问内网web站点4.5 配置固定二级子域名公网访问内网web站点4.5.1创建一条固定…

GPT提示词分享 —— 智能域名生成器

提示词👇 我希望你能充当一个聪明的域名生成器。我将告诉你我的公司或想法是什么,你将根据我的提示回复我一份域名备选清单。你只需回复域名列表,而不是其他。域名应该是最多 7-8 个字母,应该简短但独特,可以是朗朗上口…

WiFiSpoof for Mac wifi地址修改工具

WiFiSpoof for Mac,一款专为Mac用户打造的网络隐私守护神器,让您在畅游互联网的同时,轻松保护个人信息安全。 软件下载:WiFiSpoof for Mac下载 在这个信息爆炸的时代,网络安全问题日益凸显。WiFiSpoof通过伪装MAC地址&…

12.windows Ubuntu 子系统:构建非冗余基因集

上次我们用prodigal对contig进行了ORF(开放阅读框)预测,可见11.windows ubuntu 子系统 contig ORF(开放阅读框)预测。-CSDN博客,接下来我们便开始构建非冗余基因集。 构建非冗余基因集有几个重要的原因&…

Redis持久化 RDB AOF

前言 redis的十大类型终于告一段落了,下面我们开始redis持久化新篇章 为啥需要持久化呢? 我们知道redis是挡在mysql前面的带刀侍卫 是在内存中的,假如我们的redis宕机了,难道数据直接冲入mysql??? 这显然是不可能的,mysql肯定扛不住这样的场景,所以我们有了redis持久化策略…

【洛谷】P9241 [蓝桥杯 2023 省 B] 飞机降落

挺有意思的一道题,分享给大家 题目链接 P9241 [蓝桥杯 2023 省 B] 飞机降落 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述 输入格式 输出格式 输入输出样例 说明/提示 思路 一开始尝试贪心能不能做,但是不好确定飞机的顺序 因为这题的数…

快转平台介绍

ODP ODP(Open Data Plane)是一个开源项目,它为可移植的高性能数据平面应用程序定义应用程序编程接口 (API)。 ODP API 设计支持各种实现策略,而无需将应用程序暴露给实现细节。这允许相同的应用程序&…

时序预测 | Matlab实现OOA-BP鱼鹰算法优化BP神经网络时间序列预测

时序预测 | Matlab实现OOA-BP鱼鹰算法优化BP神经网络时间序列预测 目录 时序预测 | Matlab实现OOA-BP鱼鹰算法优化BP神经网络时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现OOA-BP鱼鹰算法优化BP神经网络时间序列预测(完整源码和数据…

前端:用Sass简化媒体查询

在进行媒体查询的编写的时候,我们可以利用scss与与编译器,通过include混入的方式对代码进行简化,从而大大提高了代码的可维护性,也减少了代码的编写量,废话不多说,直接上代码 // 定义设备数值 $breakpoints…

Available platform plugins are: linuxfb, minimal, offscreen, vnc.

说明: buildroots根文件中已经移植好了QT的库,但是运行QT交叉编译之后的可执行文件报错: qt.qpa.plugin: Could not find the Qt platform plugin "eglfs" in "" This application failed to start because no Qt platf…

认识V模型、W模型、H模型

软件测试与软件工程息息相关,软件测试是软件工程组成中不可或缺的一部分。 在软件工程、项目管理、质量管理得到规范化应用的企业,软件测试也会进行得比较顺利,软件测试发挥的价值也会更大。 要关注软件工程、质量管理以及配置管理与软件测试…

Redis 过期删除策略和内存淘汰策略

1.Redis 过期删除策略 1)惰性删除:放任键过期不管,但是每次从键空间中获取键时,都检查取得的键是否过期,如果过期的话,就删除该键;如果没有过期,就返回该键。 2)定期删除:每隔一段时间程序就对…

记录实现水平垂直居中的5种方法

记录块级元素实现水平垂直居中的方法&#xff0c;效果如图。 <div class"parent"><div class"child">居中元素</div> </div><style> .parent {position: relative;width: 600px;height: 300px;background-color: #679389; …

Spring IoC详解

1.什么是IoC Spring IoC&#xff08;Inversion of Control&#xff0c;控制反转&#xff09;是Spring框架的核心之一&#xff0c;它是一种设计模式&#xff0c;也称为依赖注入&#xff08;Dependency Injection&#xff0c;DI&#xff09;。在传统的程序设计中&#xff0c;对象…

算法学习——LeetCode力扣动态规划篇10(583. 两个字符串的删除操作、72. 编辑距离、647. 回文子串、516. 最长回文子序列)

算法学习——LeetCode力扣动态规划篇10 583. 两个字符串的删除操作 583. 两个字符串的删除操作 - 力扣&#xff08;LeetCode&#xff09; 描述 给定两个单词 word1 和 word2 &#xff0c;返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个…

HarmonyOS 应用开发之Stage模型绑定FA模型ServiceAbility

本小节介绍Stage模型的两种应用组件如何绑定FA模型ServiceAbility组件。 UIAbility关联访问ServiceAbility UIAbility关联访问ServiceAbility和UIAbility关联访问ServiceExtensionAbility的方式完全相同。 import common from ohos.app.ability.common; import hilog from o…

软考 - 系统架构设计师 - 统一过程 RUP

概念 统一过程&#xff08;Rational Unified Process&#xff0c;简称RUP&#xff09;是一个面向对象且基于网络的程序开发方法&#xff0c;它是由IBM Rational软件公司&#xff08;原Rational Software Corporation&#xff09;发明并倡导的一种软件过程框架&#xff0c;属于迭…

Qt源码调试步骤记录

1.源码&#xff1a; 两种方式&#xff0c;要么安装qt时选择source&#xff0c;要么从官网下载源码&#xff0c;然后在qt creator中设置路径。二选一即可。我选的第二种。 1.1.第一种&#xff0c;安装时选择source&#xff1a; 1.2.第二种&#xff0c;下载源码设置路径&#x…

安装部署MariaDB数据库管理系统

目录 一、初始化MariaDB服务 1、安装、启动数据库服务程序、将服务加入开机启动项中。 2、为保证数据库安全性和正常运转&#xff0c;需要对数据库程序进行初始化操作。 3、配置防火墙&#xff0c;放行对数据库服务程序的访问请求&#xff0c;允许管理员root能远程访问数据…