当前位置: 首页 > news >正文

Python从入门到精通9天(异常的处理)

异常处理

  • 异常处理语句
  • 多个异常
  • raise关键字
  • 常见的异常类型
  • 自定义异常

异常处理语句

在了解异常处理之前,我们先对它的语句进行说明,如下:

try:表示测试代码块以查找错误

except:表示处理错误

finally:表示无论try和except返回的结果如何,都必须执行

else:表示所有异常都不执行就返回else关键字下的异常处理

代码如下:

try:# 需要执行的语句# x没有定义,程序必然会报错print(x)
except Exception as e:# 将错误进行打印print(e)   #name 'x' is not defined
finally:# 不管怎样都地执行print("我已经执行完毕")

如果没有try except语句,那么程序将会报一大堆地红色错误,except语句负责捕获异常,并将结果进行返回。

多个异常

当程序出现多个异常时,可以根据自己地需要定义多个Exception,即定义错误地类型。

代码如下:

try:# 除数不能为0# 这里可以使用内置的 ZeroDivisionError类型a = 3 / 0except NameError as e:print(e)
except ValueError as f:print(f)
except:print("其他的异常")

或者使用else语句进行输出,当所有的异常都不是报错的类型时,则执行else语句。

代码如下:

try:a = 3/0
except NameError as e:print(e)
except ValueError as f:print(f)
else:print("其他的异常")

raise关键字

raise关键字用来引发异常,并且能够定义所引发异常类型、以及打印给用户的文本。这个关键字能够在使用条件语句的时候抛出异常。

代码如下:

try:a = int(input("请输入一个整数"))if a > 10:raise TypeError("输出的数太大了,抛出异常")
except TypeError as e:print(e)

常见的异常类型

以下是一些常见的异常类型:

ValueError:传递给函数的参数无效或不正确。

TypeError:函数或操作应用于不适当的数据类型。

AttributeError:尝试访问对象不存在的属性。

KeyError:试图访问不存在的字典键。

IndexError:尝试访问不存在的列表索引或元组索引。

IOError:在执行文件操作时发生输入/输出错误。

ImportError:尝试导入无法找到的模块或包。

ZeroDivisionError:除数不能为零。

KeyboardInterrupt:用户中断了程序的执行。

NameError:尝试访问不存在的变量或函数。

NotImplementedError:尝试调用尚未实现的方法。

自定义异常

我们在处理异常时,不知道python自带的异常有哪些,我们想自定义异常,同时还能让python解释器进行识别。这时候我们该怎么办呢?

代码如下:

# 创建一个类使它继承Exception父类
# 这里就相当于创建了一个自己的异常类class MyError(Exception):# 给定一个msg参数,用于接收异常的信息def __init__(self,msg):self.msg = msgtry:a = int(input("请输入一个整数"))if a > 10:# 使用raise关键字进行异常的抛出raise MyError("输出的数太大了,抛出异常")
except MyError as e:print(e)

相关文章:

Python从入门到精通9天(异常的处理)

异常处理 异常处理语句多个异常raise关键字常见的异常类型自定义异常 异常处理语句 在了解异常处理之前,我们先对它的语句进行说明,如下: try:表示测试代码块以查找错误 except:表示处理错误 finally:表…...

微服务学习——Docker

初识Docker 项目部署的问题 大型项目组件较多,运行环境也较为复杂,部署时会碰到一些问题: 依赖关系复杂,容易出现兼容性问题开发、测试、生产环境有差异 Docker Docker如何解决依赖的兼容问题的? 将应用的Libs(函数库)、 Deps&#xf…...

QMS-云质说质量 - 5 解决中小企业质量问题的钥匙在哪里?

云质QMS原创 转载请注明来源 作者:王洪石 引言 一个小小的质量问题可能引发蝴蝶效应 日常生活中,我们每天都会遇到各种各样的问题,并随着它们喜怒哀乐。企业也不例外,即使有很好的管理体系以及非常高素质的员工,一些错…...

基于Java+Spring+vue+element社区疫情服务平台设计和实现

基于JavaSpringvueelement社区疫情服务平台设计和实现 博主介绍:5年java开发经验,专注Java开发、定制、远程、指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式 …...

实战项目:手把手带你实现一个高并发内存池

项目介绍 1.这个项目做的是什么? 当前项目是实现一个高并发的内存池,他的原型是google的一个开源项目tcmalloc,tcmalloc全称Thread-Caching Malloc,即线程缓存的malloc,实现了高效的多线程内存管理,用于替…...

原理这就是索引下推呀

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 索引下推是之前面试的时候遇到的一个面试题,当时没有答上来,今天来学习一下。 介绍索引下推之前先看一下MySQL基…...

个人通讯录(二)

个人通讯录(二) 需求: 通讯录(phone)用来保存若干个联系人的信息,且可以按照联系人姓名的拼音升序排序。要求通讯录提供一下功能: 1.添加联系人信息 2.删除指定联系人信息 3.修改指定联系人…...

DockerK8S常见面试知识

Docker docker的工作原理 docker是一个client-server结构的系统,docker守护进程运行在宿主机上,守护进程从客户端接受命令并管理运行在主机上的容器,容器是一个运行时环境,这就是我们说的集装箱 docker组成部分 1、docker cli…...

tcpdump arping nsenter

tcpdump 参数说明 tcpdump 是一款常用的网络抓包工具,它可以捕获网络数据包并进行分析。tcpdump 的参数非常多,下面是一些常用的参数说明: -i:指定要监听的网络接口,如 -i eth0。 any-n:禁用地址解析&…...

Python - 简单快速回忆基础语法

Python 是一种高级编程语言,易学易用 以下是 Python 基础语法的概述: 注释 Python 使用 # 符号来注释代码行。代码行 # 后的所有内容都将被认为是注释,不会被解释器执行,只是对代码的注释说明 # 这是一条注释 print("Hel…...

蓝牙耳机接打电话哪个比较好?接打电话最好的蓝牙耳机

技术已经发展到如此程度,耳机可以淹没嘈杂环境中不断出现的杂音,同时还能让我们在通话、音乐和娱乐方面保持清晰,既然如此,我们就来整理一下2023年适合通话和娱乐的无线耳机清单。 一、南卡小音舱Lite2蓝牙耳机 参考价格&#x…...

DeepSORT中的卡尔曼滤波

本文是看了DeepSORT方法视频之后,关于其中使用的卡尔曼滤波的理解 DeepSORT视频链接 首先贴几个比较好的,与本文由有关的几个帖子 图说卡尔曼滤波,一份通俗易懂的教程 卡尔曼滤波(Kalman Filter)原理与公式推导 卡尔…...

【Linux网络服务】SSH远程访问及控制

一、openssh服务器 1.1ssh协议 SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程 复制等功能; SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令&#xff1…...

AutoGPT的出现,会让程序员失业吗?

最近,一个叫AutoGPT的模型火了,在GitHub上线数周Star数就直线飙升。截至目前,AutoGPT的Star数已经达到87k,马上接近90k,超过了PyTorch的65k。 根据AutoGPT的命名,就可以发现其神奇之处在于“auto”&#x…...

微信小程序php+vue 校园租房指南房屋租赁系统

本着诚信的原则,平台必须要掌握出租方必要的真实可信的信息,这样就可以防止欺诈事件的发生,事后也可以联系找到出租方。并且租金等各方面规范标准化,在这易租房诚信可信的平台让承租方与出租方充分有效对接,既方便了承…...

水果FL Studio21最新中文完整版下载更新及内容介绍

简单总结一下,本次小版本更新最重要的内容,我个人认为是对于M1芯片的适配。其余的比如EQ2,3x这些我们很熟悉的插件虽说也有更新,但是估计并没有特别大的改动。我个人的话会先放一段时间,等下次有其他更让我感兴趣的内容…...

springboot+vue小区物业管理系统(源码+文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的小区物业管理系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 💕💕作者:风…...

GEEer成长日记二十三:chatGPT可以帮我们提取水体边缘吗?

欢迎关注公众号:GEEer成长日记 目录 01 首先,chatGPT是什么? 02 进入正题,如何进行边缘检测? chatGPT推出之后,引发了激烈的讨论,今天带各位看看它在GEE方面能为我们做什么。原本想着它可以…...

程序员阿里三面无理由挂了,被HR一句话噎死,网友:这可是阿里啊

进入互联网大厂一般都是“过五关斩六将”,难度堪比西天取经,但当你真正面对这些大厂的面试时,有时候又会被其中的神操作弄的很是蒙圈。 近日,某位程序员发帖称,自己去阿里面试,三面都过了,却被…...

js面试题

在全局作用域下声明了一个变量 arr, 它的初始值是一个空数组 第二段代码,循环计数器变量i的初始值为0,循环条件是i的值小于2, 也就是说当i的值为0或者1时, 循环条件才能成立 才能够进入到循环体 当i的值为2时循环条件不成立&…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...

OD 算法题 B卷【正整数到Excel编号之间的转换】

文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的:a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...