python学习-错误与异常

news2024/11/15 4:52:37

代码是人的逻辑思维的具体体现,因为没有一个人的逻辑思维是完美无缺的,所以人在编写代码时必然会出现各种错误。既然错误或多或少都会发生,那么如何捕捉错误,并且捕捉到错误后要如何处理,就显得很重要。

语法错误

Python解释器在解析Python代码时,如果发现无法解析的语句,就会抛出SyntaxError语法错误。Python解释器之所以无法解析,是因为当前的Python代码没有完全符合Python的规则。

在Python2中,可以使用“print'你好'”的形式输出内容,但这种语法规则在Python3中已不被支持

运行错误

运行时错误与语法错误不同,它是指代码的语法规则都是正确的,但在运行时出现了错误,运行时错误也被称为“程序抛出了异常”

异常捕捉

异常是相对正常而言的,异常是指某个事件发生在程序执行过程中并影响程序正常的执行流程,使得程序本身无法正常处理该事件,导致程序终止。

为了避免一些“可预测异常”影响程序的正常执行,Python提供了try…except…语句来捕获异常,try关键字下的代码块在执行时如果出现了错误,会触发except关键字捕获异常信息并通过该关键字下的代码块进行处理。

代码示例如下:

常见的几种异常类型

可以使用except关键字捕捉相应类型的异常,except关键字后可以接相应的异常类型,当try代码块中的代码报错时,只有抛出与except关键字后异常类型相同的异常,才会执行except关键字后的代码逻辑;如果except关键字后没有接异常类型,那么任何异常都会触发except代码块中的代码逻辑。

示例代码如下:

在上述代码中,except关键字只捕捉TypeError类型的异常,而对于其他类型的异常,except代码块不会执行。

如果希望try代码块中的代码无论是否抛出异常,代码都执行某种逻辑,则可以使用finally关键字,代码如下:

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

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

相关文章

Win10屏幕录制,这3种方法分享给你

数字化时代里,电脑的屏幕录制功能已经不再是简单的工具,而是成为我们表达、学习和交流的重要媒介。Win10系统依然是大部分人使用的电脑系统,那么关于Win10屏幕录制,有哪些好用高效的录制软件,能够帮助我们更加深入地捕…

【postgresql】视图(View)

PostgreSQL 中的视图(View)是一种虚拟表,其内容由 SQL 查询定义。视图可以简化复杂的 SQL 操作,使得用户能够以一种更直观、更易于理解的方式来访问和操作数据。 PostgreSQL 视图是只读的,因此可能无法在视图上执行 D…

【JavaEE】进程

目录 一.冯诺依曼体系结构 二.CPU的核心概念 核心数 频率(Clock Speed 或时钟频率) 如何选择合适的CPU 三.指令的执行 1.什么是指令 1.取指令 2.解析指令 3.执行指令 4.访问内存(Memory): 5.写回结果(Write…

回收站删除了是不是彻底删除了 回收站删除了怎么找回 回收站删除了还能找回来吗

电脑删除的数据文件一般不会直接被彻底删除掉,而是会暂存在回收站中,这样设计主要是为了防止误删除等操作,如果不小心删除了很重要的文件,只需要在回收站对文件进行还原即可。为了让大家更了解回收站,下面给大家详细讲…

在生产环境中打印堆栈信息以排查错误

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] &#x1f4f1…

我们以后坐出租车,是不是都是没司机了?

今天看到一篇帖子 说是广州出现了一种无人驾驶的出租车 确实比较新奇 萝卜快跑 自动驾驶,不是一个新概念了 其实技术已经很成熟了 但是可能因为法律的一些原因 一直没有全面推 在加上现在AI大模型这块,很火 AI自动驾驶 从打车 到接客 再到送到目的地 一…

亚马逊erp跟卖采集之关键词采集

大家好,今天讲这款erp的跟卖采集关键词采集。 打开erp跟卖功能采集任务,点新增任务站点美国,有5种采集方式:关键词、店铺链接、类目ASIN。 选择关键词采集,这里我选择女童装,选择女童板鞋复制粘贴。页数我…

在2018.3没有找到对应的器件库,需要

图中的器件在vivado中没有找到 一、添加器件 发现所有的2018.3的所有器件库,其实都已经安装了,那么意味着2018.3没有办法对该器件进行综合。 二、安装更新版本的vivado 重新安装的2022.2,在选择器件的时候,把所有的器件全部勾选…

关于string的‘\0‘与string,vector构造特点,反迭代器与迭代器类等的讨论

目录 问题一:关于string的\0问题讨论 问题二:C标准库中的string内存是分配在堆上面吗? 问题三:string与vector的capacity大小设计的特点 问题四:string的流提取问题 问题五:迭代器失效 问题六&#xf…

最后纪元Last Epoch可以通过什么搬砖 游戏搬砖教程

来喽来喽,最后纪元,一款《最后纪元》是一款以获得战利品为基础的暗黑风格动作RPG游戏,玩家将从2281年的毁灭时代追溯到由女神Eterra创造的世界,通过多个时代与黑暗的命运对抗,找到拯救世界的方式。游戏有五种职业&…

AI赛道成功的“小”AI平台,都在做什么?

在深入了解30多家跨界拓展AI赛道业务的企业后,我们发现大家对目前的AI市场存在一定程度的误解:即认为在AI领域想要分一杯羹,只需要搞几个API,把大语言模型、绘画、视频、数字人等功能都放上去,可能就有机会占一席之地了…

20240711 每日AI必读资讯

🎨Runway Gen-3 Alpha 详细使用教程以及提示词指南大全 - 7月9日,著名生成式AI平台Runway在官网公布了,最新发布的文生视频模型Gen-3 Alpha的文本提示教程。 - 从技术层面来说,输入的文本提示会被转换成“向量”,这些…

数据开源 | Magic Data大模型高质量十万轮对话数据集

能够自然的与人类进行聊天交谈,是现今的大语言模型 (LLM) 区别于传统语言模型的重要能力之一,近日OpenAI推出的GPT-4o给我们展示了这样的可能性。 对话于人类来说是与生俱来的,但构建具备对话能力的大模型是一项不小的挑战,收集高…

Python实现的深度学习技术在水文水质领域应用

当前,深度学习作为人工智能的热门技术发展迅速,以其强大的非线性和不确定性处理能力在图像识别、语音识别、自然语言处理等领域取得了显著的成效。它是一种端到端的处理方法,在训练算法的指导下,深层神经网络自发地从原始数据中进…

JAVASE进阶day08(Map双列集合)

HashMap 1.HashMap基本使用 package com.lu.day08.map;import java.util.HashMap; import java.util.Map; import java.util.Set;public class MapDome {public static void main(String[] args) {HashMap<String , String> map new HashMap<>();//添加后者修改-…

Data Guard高级玩法:failover备库后,通过闪回恢复DG备库

作者介绍&#xff1a;老苏&#xff0c;10余年DBA工作运维经验&#xff0c;擅长Oracle、MySQL、PG、Mongodb数据库运维&#xff08;如安装迁移&#xff0c;性能优化、故障应急处理等&#xff09; 公众号&#xff1a;老苏畅谈运维 欢迎关注本人公众号&#xff0c;更多精彩与您分享…

动手学深度学习(Pytorch版)代码实践 -循环神经网络-57长短期记忆网络(LSTM)

57长短期记忆网络&#xff08;LSTM&#xff09; 1.LSTM原理 LSTM是专为解决标准RNN的长时依赖问题而设计的。标准RNN在训练过程中&#xff0c;随着时间步的增加&#xff0c;梯度可能会消失或爆炸&#xff0c;导致模型难以学习和记忆长时间间隔的信息。LSTM通过引入一组称为门…

rk3588s 定制版 tc358775 调试 lvds 屏幕 (第一部分)

硬件: 3588s 没有 lvds 接口 , 所以使用的 东芝的 tc358774 (mipi ---> lvds芯片), 这个芯片是参考 3399 的 官方设计得来的,3399 的官方demo 板上应该是 使用到了 这颗芯片 参考资料: 1 网上的 GM8775C 转换芯片。 2 瑞芯微的 3588s 的资料 总体的逻辑: 1 3588s…

25届近5年中国民航大学自动化考研院校分析

中国民航大学 目录 一、学校学院专业简介 二、考试科目指定教材 三、近5年考研分数情况 四、近5年招生录取情况 五、最新一年分数段图表 六、初试大纲复试大纲 七、学费&奖学金&就业方向 一、学校学院专业简介 二、考试科目指定教材 1、考试科目介绍 2、指定教…

centos系统查找mysql的配置文件位置

执行命令查找mysql的安装目录&#xff1a; which mysql cd进入mysql的安装目录 cd /usr/bin 查找配置文件位置 ./mysql --help | grep "my.cnf" 定位配置文件 cd /etc 查找命令还可以用find命令 find / -name "my.cnf"