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位数才正常,否则抛出异常
相关文章:
python 异常处理 try
异常 我们常见的代码错误后 会出现此类异常 SyntaxError:语法错误 AttributeError:属性错误 IndexError:索引错误 TypeError:类型错误 NameError:变量名不存在错误 KeyError:映射中不存在的关键字…...
月入10万+管道收益,揭秘旅游卡运营的5个阶段!
网上的项目众多,只要用心,便能发现不少商机。在互联网上运营,关键在于理解项目的底层逻辑。今天,我们来揭秘旅游卡项目,如何做到月入10万。 1、先赚成本 开始项目时,首要任务是回本。不要急于求成&#x…...
android_binder源码分析之_binder驱动使用服务
一,binder驱动源码分析,使用服务过程 uint32_t svcmgr_lookup(struct binder_state *bs, uint32_t target, const char *name) {uint32_t handle;unsigned iodata[512/4];struct binder_io msg, reply;bio_init(&msg, iodata, sizeof(iodata), 4);b…...
【波点音乐看广告】
import uiautomator2 as u2 import time from datetime import datetime import xml.etree.ElementTree as ET import re import os 连接设备 d u2.connect() os.system(‘adb shell chmod 775 /data/local/tmp/atx-agent’) os.system(‘adb shell /data/local/tmp/atx-age…...
[SWPUCTF 2021 新生赛]pop
常见的魔术方法 魔术方法__construct() 类的构造函数,在对象实例化时调用 __destruct() 类的析构函数,在对象被销毁时被调用 __call() 在对象中调用一个不可访问的对象时被调用,比如一个对象被调用时,里面没有程序想调用的属性 …...
【DevOps】Jenkins + Dockerfile自动部署Maven(SpringBoot)项目
环境 docker_host192.168.0.1jenkins_host192.168.0.2 jenkins_host构建完成后把jar发布到docker_host,再通过dockerfile自动构建镜像,运行镜像 1 Jenkins安装 AWS EC2安装Jenkins:AWS EC2 JDK11 Jenkins-CSDN博客 AWS EC2上Docker安装…...
【C++】——入门基础知识超详解
目录 编辑 1.C关键字 2. 命名空间 2.1 命名空间定义 2.2 命名空间使用 命名空间的使用有三种方式: 注意事项 3. C输入&输出 示例 1:基本输入输出 示例 2:读取多个值 示例 3:处理字符串输入 示例 4:读…...
ChatGPT技术演进简介
chatGPT(chat generative pre-train transformer, 可以对话的预训练trasformer模型),讨论点: 1、chatGPT为什么突然火了 2、GPT 1.0、2.0、3.0、3.5 、4和4o区别和特性,在不同应用场景中如何选对模型 3、未…...
C语言 | Leetcode C语言题解之第114题二叉树展开为链表
题目: 题解: void flatten(struct TreeNode* root) {struct TreeNode* curr root;while (curr ! NULL) {if (curr->left ! NULL) {struct TreeNode* next curr->left;struct TreeNode* predecessor next;while (predecessor->right ! NULL)…...
Vue 子组件向父组件传值
1、使用自定义事件 ($emit) 这是Vue中最常用的子组件向父组件传递数据的方式。子组件通过触发一个自定义事件,并附加数据作为参数,父组件则监听这个事件并处理传递过来的数据。 子组件 (发送数据): <template><button click"…...
【前端笔记】Vue项目报错Error: Cannot find module ‘webpack/lib/RuleSet‘
网上搜了下发现原因不止一种,这里仅记录本人遇到的原因和解决办法,仅供参考 原因:因为某种原因导致本地package.json中vue/cli与全局vue/cli版本不同导致冲突。再次提示,这是本人遇到的,可能和大家有所不同,…...
edge浏览器的网页复制
一些网页往往禁止复制粘贴,本文方法如下: 网址最前面加上 read: (此方法适用于Microsoft Edge 浏览器)在此网站网址前加上read:进入阅读器模式即可...
视频播放器-Kodi
一、前言 Kodi 是一款开源免费的多媒体播放软件。Kodi 是由非营利性技术联盟 Kodi 基金会开发的免费开源媒体播放器应用程序。 Kodi是一款免费和开源(遵循GPL协议)的多媒体播放器和娱乐中心软件,由XBMC基金会开发。Kodi的主要功能是管理和播…...
Helm安装kafka3.7.0无持久化(KRaft 模式集群)
文章目录 2.1 Chart包方式安装kafka集群 5.开始安装2.2 命令行方式安装kafka集群 搭建 Kafka-UI三、kafka集群测试3.1 方式一3.2 方式二 四、kafka集群扩容4.1 方式一4.2 方式二 五、kafka集群删除 参考文档 [Helm实践---安装kafka集群 - 知乎 (zhihu.com)](https://zhuanlan.…...
【机器学习】期望最大化(EM)算法
文章目录 一、极大似然估计1.1 基本原理1.2 举例说明 二、Jensen不等式三、EM算法3.1 隐变量 与 观测变量3.2 为什么要用EM3.3 引入Jensen不等式3.4 EM算法步骤3.5 EM算法总结 参考资料 EM是一种解决 存在隐含变量优化问题 的有效方法。EM的意思是“期望最大化(Exp…...
【Python】机器学习中的过采样和欠采样:处理不平衡数据集的关键技术
原谅把你带走的雨天 在渐渐模糊的窗前 每个人最后都要说再见 原谅被你带走的永远 微笑着容易过一天 也许是我已经 老了一点 那些日子你会不会舍不得 思念就像关不紧的门 空气里有幸福的灰尘 否则为何闭上眼睛的时候 又全都想起了 谁都别说 让我一个人躲一躲 你的承诺 我竟然没怀…...
重新思考:Netflix 的边缘负载均衡
声明 本文是对Netflix 博客的翻译 前言 在先前关于Zuul 2开源的文章中,我们简要概述了近期在负载均衡方面的一些工作。在这篇文章中,我们将更详细地介绍这项工作的原因、方法和结果。 因此,我们开始从Zuul和其他团队那里学习&#…...
元组的创建和删除
目录 使用赋值运算符直接创建元组 创建空元组 创建数值元组 删除元组 自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 元组(tuple)是Python中另一个重要的序列结构&#…...
CSS3用户界面
用户界面 appearance appearance 属性用于控制元素是否采用用户代理(浏览器)的默认样式(外观) element {appearance: auto | none;}auto(默认):元素采用浏览器提供的默认样式。none:元素不采用任何默认样式,显示为“裸”元素,通常表现为无特定样式的简单框。input[…...
STL源码刨析:序列式容器之vector
目录 1.序列式容器和关联式容器 2.vector的定义和结构 3.vector的构造函数和析构函数的实现 4.vector的数据结构以及实现源码 5.vector的元素操作 前言 本系列将重点对STL中的容器进行讲解,而在容器的分类中,我们将容器分为序列式容器和关联式容器。本章…...
不只是驱动问题:深度排查Windows CMD中nvidia-smi失效的5种可能及解决方案
不只是驱动问题:深度排查Windows CMD中nvidia-smi失效的5种可能及解决方案当你在Windows CMD中键入nvidia-smi命令却只得到"不是内部或外部命令"的提示时,多数教程会告诉你"配置环境变量Path即可解决"。但现实往往更复杂——特别是当…...
AgentScope Java 入门:Tool 工具系统——让 Agent 真正“动手做事“
在前面的模型集成系列中,我们详细介绍了如何让 AgentScope Java 接入各类大语言模型——这相当于为 Agent 装上了"大脑"。但只有大脑还不够,本篇我们将聚焦 Agent 的另一关键能力:Tool(工具)系统——也就是 Agent 的"手脚"。 如果把大语言模型比作 A…...
DeepSeek R1模型本地化部署全链路实践(从Docker镜像构建到API服务高可用上线)
更多请点击: https://codechina.net 第一章:DeepSeek R1模型本地化部署全链路实践(从Docker镜像构建到API服务高可用上线) DeepSeek R1 是一款高性能开源大语言模型,其本地化部署需兼顾推理效率、资源隔离与服务稳定性…...
利用Taotoken实现多模型备选方案以提升业务连续性
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 利用Taotoken实现多模型备选方案以提升业务连续性 在中大型企业将AI能力集成到关键业务流程时,服务的连续性与稳定性是…...
机器学习负结果的价值:打破发表偏见,提升研究效率与可复现性
1. 项目概述:为何要正视机器学习中的“负结果”?在机器学习圈子里混了十几年,从学生时代跑第一个MNIST分类器,到后来在工业界折腾各种落地项目,我见过太多“成功”的论文,也亲手埋葬过更多“失败”的实验。…...
第39天:SQL详解之DQL
Python学习100天(从入门到精通系列文章) 文章目录 Python学习100天(从入门到精通系列文章) 前言 一、基本查询与投影 1.1 查询所有列 1.2 投影与别名 二、数据筛选(WHERE 子句) 2.1 等值与比较筛选 2.2 多条件组合(AND / OR) 2.3 范围查询(BETWEEN) 2.4 CASE 表达式与…...
【数据分析】基于matlab智慧城市温度与湿度分析系统【含Matlab源码 15555期】
💥💥💥💥💥💥💞💞💞💞💞💞💞💞欢迎来到海神之光博客之家💞💞💞Ὁ…...
如何5分钟掌握Translumo:免费实时屏幕翻译工具的完整指南
如何5分钟掌握Translumo:免费实时屏幕翻译工具的完整指南 【免费下载链接】Translumo Advanced real-time screen translator for games, hardcoded subtitles in videos, static text and etc. 项目地址: https://gitcode.com/gh_mirrors/tr/Translumo 你是…...
yuzu模拟器完全指南:解决PC上畅玩Switch游戏的5大难题
yuzu模拟器完全指南:解决PC上畅玩Switch游戏的5大难题 【免费下载链接】yuzu 任天堂 Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/yu/yuzu yuzu是目前最受欢迎的开源任天堂Switch模拟器,让你能够在Windows、Linux和Android设备…...
RuoYi登录接口自动化:验证码、AES加密与JWT全链路验证
1. 为什么登录接口自动化不是“点几下就完事”,而是RuoYi项目落地的第一道生死线在接手第7个基于RuoYi-Vue的政企内部系统交付时,我遇到过最尴尬的一幕:客户现场验收当天,测试同事用Postman手工执行登录接口,输入账号密…...
