python 异常处理 try

异常

我们常见的代码错误后 会出现此类异常

SyntaxError:语法错误

AttributeError:属性错误
IndexError:索引错误
TypeError:类型错误

NameError:变量名不存在错误

KeyError:映射中不存在的关键字(键)的错误

ValueError:值错误

异常本身就是一个类,所有的类都继承于BaseException类

SystemExit:退出异常
KeyboarInterrupt:键盘打断
GeneratorExit:生成器退出
Exception:普通异常 --------- 上面的常见异常都是Exception的子类

查看异常结构

print(help(NameError))

错误回溯

点击蓝色文字

print(a)

异常捕捉

语法结构
try:# 可能出现错误的代码
except Exception(可以写其他异常类型,如果多个异常类型,需放元组里) as e:# 捕捉到异常的处理方案
else:# 没有异常时执行
finally:# 不管是否出现异常都会执行
简单使用 
try:print(a)
except Exception as e:print(e)# name 'a' is not defined
try:print(1)
except Exception as e:print(e)
else:print(2)
finally:print(3)# 1
# 2
# 3
try:print(a)
except Exception as e:print(e)
else:print(2)
finally:print(3)# name 'a' is not defined
# 3

raise

主动抛出异常

try:num = input('请输入一个数值:')if not num.isdigit():raise ValueError('num必须为纯数字')print(f'数字是{num}')except Exception as e:print(e)# 如果输入  1234  那么就会输出 数字是1234
# 如果输入  qwer  那么就会输出 num必须为纯数字
自定义异常 -- 小游戏
def number():print('小游戏')print('请输入1~10的数字字母,如果长度正确,则游戏胜利,否则输了')a = input('请输入:')if len(a) == 7:print('游戏胜利')else:raise Exception('游戏失败')while True:try:number()breakexcept Exception as e:print(e)

assert

断言,强制要求一个条件满足

assert 条件,  '抛出自定义异常'

def user():assert 10 < 1, '错误,10是大于1的'print('123')     # 只有上面满足,这行代码才会执行try:user()
except Exception as e:print(e)# 错误,10是大于1的
def func(passwd):assert 12 > len(passwd) > 6, '密码过长或过短'print('密码正常')try:a = input('请输入密码:')func(a)print(123)      # 上面没通过,这一行也不会执行
except Exception as e:print(e)# 输入 7-11位数才正常,否则抛出异常

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

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

相关文章

eletron入门教程 -- 快速写一个electron demo程序

1、前言 由于工作需要&#xff0c;前段时间基于electron框架开发了一个桌面应用程序。由于我之前主要是做c后端开发&#xff0c;所以没有任何electron基础&#xff0c;也没有任何前端开发基础&#xff0c;但是没有办法&#xff0c;老板需要&#xff0c;那就得会&#xff0c;不会…

【java】常见面试题目

文章目录 一、JAVA基础篇二、多线程篇三、SQL篇四、No-SQL篇五、MQ篇六、框架篇七、JVM篇八、常见算法题 一、JAVA基础篇 1、ConcurrentHashMap是如何保证线程安全的&#xff0c;HashMap为什么是线程不安全的? HashTable为什么是线程安全的&#xff0c;HashSet为什么是线程不…

前端开发工程师——数据可视化

canvas canvas绘制线段 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthd…

如何使用KNN

导入文件和库 加载数据集、拆分数据集 训练模型 预测 打印结果

自从有了可观测性,传统运维如何进行提升?

在 201x 年&#xff0c;随着容器技术的出现&#xff0c;容器的部署方式逐渐被各大互联网公司采用&#xff0c;相比物理机/虚拟机&#xff0c;容器的好处是环境隔离、轻量、快速。 但是管理容器是一件复杂的事情&#xff0c;后来出现了 Kubernetes&#xff0c;成为了事实上的容…

加拿大门户媒体《金融邮报》《埃德蒙顿日报》新闻媒体投放

介绍 加拿大媒体广告投放是企业宣传推广的重要手段之一。在加拿大&#xff0c;主流媒体包括《金融邮报》和《埃德蒙顿日报》。《金融邮报》是加拿大唯一的全国性英文金融日报&#xff0c;总部位于多伦多&#xff0c;具有丰富的金融消息资源&#xff0c;可反映加拿大商界各方面…

Oracle实践|内置函数之日期与时间函数

&#x1f4eb; 作者简介&#xff1a;「六月暴雪飞梨花」&#xff0c;专注于研究Java&#xff0c;就职于科技型公司后端工程师 &#x1f3c6; 近期荣誉&#xff1a;华为云云享专家、阿里云专家博主、腾讯云优秀创作者、ACDU成员 &#x1f525; 三连支持&#xff1a;欢迎 ❤️关注…

五分钟”手撕“异常

目录 一、什么是异常 二、异常的体系和分类 三、异常的处理 1.抛出异常 2.异常的捕获 异常声明throws&#xff1a; try-catch处理 四、finally finally一定会被执行吗&#xff1f; 五、throw和throws区别 六、异常处理的流程 七、自定义异常 一、什么是异常 顾名…

大模型额外篇章二:基于chalm3或Llama2-7b训练酒店助手模型

文章目录 一、代码部分讲解二、实际部署步骤(CHALM3训练步骤)1)注册AutoDL官网实名认证2)花费额度挑选GPU3)准备实验环境4)开始执行脚本5)从浏览器访问6)可以开始提问7)开始微调模型8)测试训练后的模型三、基于Llama2-7b的训练四、额外补充1)修改参数后2)如果需要访问…

PHP:open_basedir restriction in effect.

当我们下载了组件&#xff0c;引入的时候出现 open_basedir restriction in effect&#xff0c;那这个时候我们该怎么弄呢&#xff1f; 首先我们进入宝塔管理页面&#xff1a;【软件商店】-【运行环境】-【安装PHP】-【设置】 其中后面的路径是用 : 来分隔表示多少个&#xff…

指纹识别系统架构

目录 1. 系统架构 1.1 指纹采集模块 1.2 指纹处理模块 1.3 指纹登记模块 1.4 指纹识别模块 1.5 指纹识别决策模块 1.6 管理模块 1.6.1 存储管理 1.6.2 传输管理 1.6.3 安全管理 1.7 应用开放功能 1.7.1 指纹登记功能 1.7.2 指纹验证功能 1.7.3 指纹辨识功能 2. …

OnlyOffice 7.4 版本打开文件时提示:文档安全令牌未正确形成。

OnlyOffice 7.4 版本打开文件时提示&#xff1a;文档安全令牌未正确形成。 笔记&#xff0c;springboot项目融合Onlyoffice时&#xff0c;出现的问题&#xff0c;解决后记录一下 笔记&#xff0c;springboot项目融合Onlyoffice时&#xff0c;出现的问题&#xff0c;解决后记录一…

Android Studio制作简单登录界面

Android Studio制作简单登录界面 实现目标 应用线性布局设计登录界面&#xff0c;要求点击输入学号时弹出数字键盘界面&#xff0c;点击输入密码时弹出字母键盘&#xff0c;出现的文字、数字、尺寸等全部在values文件夹下相应.xml文件中设置好&#xff0c;使用时直接引用。当…

如何使用perf 统计cpu和内存?

文章目录 0. 概要1. 使用perf统计CPU和内存的结果示例1.1 **统计CPU时钟周期&#xff1a;**1.2 **统计指令数量&#xff1a;**1.3 **统计缓存命中率&#xff1a;**1.4 **统计内存带宽的示例输出** 2 **注意&#xff1a;** 0. 概要 PMU&#xff08;Performance Monitoring Unit…

蓝桥杯物联网竞赛_STM32L071KBU6_关于size of函数产生的BUG

首先现象是我在用LORA发送信息的时候&#xff0c;左边显示长度是8而右边接收到的数据长度却是4 我以为是OLED显示屏坏了&#xff0c;又或者是我想搞创新用了const char* 类型强制转换数据的原因&#xff0c;结果发现都不是 void Function_SendMsg( unsigned char* data){unsi…

学习笔记——交通安全分析02

目录 前言 当天学习笔记整理 绪论 结束语 前言 #随着上一轮SPSS学习完成之后&#xff0c;本人又开始了新教材《交通安全分析》的学习 #整理过程不易&#xff0c;喜欢UP就点个免费的关注趴 当天学习笔记整理 绪论 美国在道路设施安全改善过程中&#xff0c;形成了数据基…

并查集的实现(C++)

之前我已经写过一期的并查集的内容&#xff0c;这里主要是实现并查集的整体结构&#xff1a; #pragma once //并查集&#xff1a;class UnionFindSet//父母表示法; { public://构造函数&#xff1a;UnionFindSet(size_t size0):_ufs(size,-1){}//合并元素;bool Union(int x, i…

【云原生】Kubernetes基础命令合集

目录 引言 一、命令概述 &#xff08;一&#xff09;命令分类 &#xff08;二&#xff09;基本语法 二、查看基本信息 &#xff08;一&#xff09;环境指令 1.查看版本信息 2.查看资源对象简写 3.添加补全信息 4.查看日志 5.查看集群信息 &#xff08;二&#xff0…

数据结构(三)

数据结构&#xff08;三&#xff09; 图状关系顺序存储链式存储十字链表法多重链表法 图的遍历佛洛依德算法迪杰斯特拉算法洪水算法 图状关系 按有无方向分&#xff1a;有向图、无向图 按是否有权值&#xff1a;带权图、不带权图 顺序存储 链式存储 十字链表法 多重链表法 图…

【笔记】软件架构师要点记录(2)

【笔记】软件架构师要点记录 20240523案例一案例二案例三案例四案例五案例六案例七案例十 20240523 基于前10个架构案例场景&#xff0c;对用到的专业术语进行整理&#xff0c;方便后续查看。 案例一 MVC架构风格组件交互方式 MVC是一种用来构建用户界面时采用的架构设计风格…