Python (十六) 错误和异常
程序员的公众号:源1024,获取更多资料,无加密无套路!
最近整理了一波电子书籍资料,包含《Effective Java中文版 第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《Java并发编程实战》等等
获取方式: 关注公众号并回复 电子书 领取,更多内容持续奉上
目录
语法错误
异常
异常处理
处理形式
抛出异常
自定义异常
系列文章索引
Python有两种错误:语法错误和异常。
语法错误
while Trueprint('Hello world')
这种错误,编译器会给出提示,按照提示修改即可。
异常
语法正确,但是代码运行时被检测到的错误。
print('1' + 2)#报错
TypeError: can only concatenate str (not "int") to str
print(100/0)#报错
ZeroDivisionError: division by zero
上面代码都发生了异常:TypeError异常、ZeroDivisonError异常
异常处理
Python 程序捕捉异常使用 try/except 语句
处理形式
#try/excepttry:...except 异常类型:...#try/except...elsetry:...except 异常类型:...else:...# try-finallytry:...except 异常类型:...else:...finally:...
def testException(n):try:print('try:',100 / n)except ZeroDivisionError:print('except异常逻辑处理。。。')else:print('else 逻辑处理。。。')finally:print('finally 逻辑处理。。。')testException(0)
#输出
except异常逻辑处理。。。
finally 逻辑处理。。。testException(1)
#输出
try: 100.0
else 逻辑处理。。。
finally 逻辑处理。。。
else在所有 except 之后使用,没有出现异常时执行;
finally 无论是否出现异常都会执行,最后执行。
抛出异常
a = 0
if a == 0:raise Exception('a不能为0')#输出
Exception: a不能为0
自定义异常
class MyException(Exception):def __init__(self, msg):self.msg = msgdef __str__(self):return repr(self.msg)def test():try:raise MyException('触发自定义异常了。。。')except MyException1 as e:print('MyException异常信息:' + e.msg)else:print('不是MyException异常') finally:print('结束了。') test()
#输出
MyException异常信息:触发自定义异常了。。。
结束了。
系列文章索引
Python(一)关键字、内置函数
Python(二)基本数据类型
Python(三)数据类型转换
Python(四)字符串
Python(五)数字
Python(六) 列表
Python(七) 条件控制、循环语句
Python(八) 字典
Python(九) 集合
Python (十) 元组
相关文章:

Python (十六) 错误和异常
程序员的公众号:源1024,获取更多资料,无加密无套路! 最近整理了一波电子书籍资料,包含《Effective Java中文版 第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》&…...

Android进阶之路 - TextView文本渐变
那天做需求的时候,遇到一个小功能,建立在前人栽树,后人乘凉的情况下,仅用片刻就写完了;说来惭愧,我以前并未写过文本渐变的需求,脑中也仅有一个shape渐变带来的大概思路,回头来看想着…...

【复位与释放(亚稳态)模为60的BCD码计数器_2023.11.22】
复位与释放(异步复位,同步释放) 同步复位rst、同步置数load(置数信号只有在时钟上升沿到来时才能生效)、同步清零clr 同步复位: always(posedge clk) if(!rst_n) b<1’b0; else b<a; 同步复位信号rs…...

ABAP: JSON 报文解析——/ui2/cl_json
1、JSON数组 报文格式如下,是JSON 数组类型的。 [{"I_TYPE":"V","I_BUSINESSSCOPE":"1001"},{"I_TYPE":"V","I_BUSINESSSCOPE":"1002"} ] json转换为SAP内表: TYP…...
android NDK相关,调用C库,JNI,交叉编译,跨平台
首先就是库给我,我先进行开发(按照文档),最后进行交叉编译ARM平台。 遇到的问题:我要看到代码效果,所以必须要在真机上跑代码,那么我调用的库就必须是我这个平台适用的,有两种方式&…...

汽车功能安全ISO26262
一、功能安全基本概念及功能安全管理 什么是功能安全 相关标准: 现状: 功能安全的目的和范围: 总体框架: 基本定义:...

Node.js+Express+Nodemon+Socket.IO构建Web实时通信
陈拓 2023/11/23-2023/11/27 1. 简介 Websocket WebSocket是一种在单个TCP连接上提供全双工通讯的协议。特别适合需要持续数据交换的服务,例如在线游戏、实时交易系统等。 Websocket与Ajax之间的区别 Ajax代表异步JavaScript和XML。它被用作一组Web开发技术&…...

广州华锐互动:AR可视化展示昆虫让教学过程更直观生动
随着科技的不断发展,AR(增强现实)技术已经逐渐走进我们的生活。通过AR技术,我们可以将虚拟的信息叠加到现实世界中,让现实世界变得更加丰富多彩。在这篇文章中,我们将以昆虫为主题,探讨AR增强现…...

.NET开源的处理分布式事务的解决方案
前言 在分布式系统中,由于各个系统服务之间的独立性和网络通信的不确定性,要确保跨系统的事务操作的最终一致性是一项重大的挑战。今天给大家推荐一个.NET开源的处理分布式事务的解决方案基于 .NET Standard 的 C# 库:CAP。 CAP项目介绍 CA…...
如何隐藏选择选项值并用新值替换2个选项?
要隐藏选择选项值并用新值替换2个选项,可以使用JavaScript来实现。 首先,使用JavaScript获取两个选项的值,然后将这两个值设置为新的值,最后将这两个选项的可见性设置为false,以隐藏它们。 例如: <se…...

[读论文][跑代码]BK-SDM: A Lightweight, Fast, and Cheap Version of Stable Diffusion
github: GitHub - Nota-NetsPresso/BK-SDM: A Compressed Stable Diffusion for Efficient Text-to-Image Generation [ICCV23 Demo] [ICML23 Workshop] ICML 2023 Workshop on ES-FoMo 简化方式 蒸馏方式(训练Task蒸馏outKD-FeatKD) 训练数据集 评测指标…...
机器学习的复习笔记1
机器学习是一种人工智能的分支,它通过让计算机从数据中学习规律和模式,从而实现对未知数据的预测和决策。根据不同的学习方法和任务,机器学习可以分为以下几种类型: 监督学习:在监督学习中,计算机会被提供一…...

【Spring Boot】如何集成Swagger
Swagger简单介绍 Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。功能主要包含以下几点: 可以使前后端分离开发更加方便,有利于团队协作接口文档可以在线自动生成,有利于降低后端开发人员编写…...

优化-查询数据接口太慢
有一个查询接口,主业务表有几万多条数据,没超过十万,由于没有使用分页,所以每次查询都要返回大几万的数据,然后问题是前端页面查询数据显示数据要转很久。 压缩响应体大小 我发现查询的时间是1秒多,但是浏…...

c++ 谓词
1. 一元谓词 #include <iostream> #include<vector> #include<algorithm>using namespace std;class CreaterFive{ public:bool operator()(int val){return val>5;} };int main() {vector<int> vec;for(int i0; i<10; i){vec.push_back(i);}ve…...

一篇总结 Linux 系统启动的几个汇编指令
学习 Linux 系统启动流程,必须熟悉几个汇编指令,总结给大家。 这里不是最全的,只列出一些最常用的汇编指令。 一.数据处理指令 1.数据传送指令 【MOV指令】 把一个寄存器的值(立即数)赋给另一个寄存器,或者将一个…...

python技术栈之单元测试中mock的使用
什么是mock? mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。 mock的作用 特别是开发过程中上下游未完成的工序导致当前无法测试,需要虚拟某些特定对象以便测试…...

LeetCode(37)矩阵置零【矩阵】【中等】
目录 1.题目2.答案3.提交结果截图 链接: 73. 矩阵置零 1.题目 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1: 输入:matrix [[1,1,1],[1,0,1],[1,1,1]…...

[Python入门系列之十一]在windows上安装OpenCV
1-安装OpenCV 如果是python3.7–python3.9(已测试),直接安装即可 注:conda需要先激活虚拟环境后再安装 pip install opencv-python如果安装速度慢,使用下面的指令: pip install opencv-python -i https://pypi.tuna.tsinghua.e…...

论文阅读——SEEM
arxiv: 分割模型向比较灵活的分割的趋势的转变:封闭到开放,通用到特定、one-shot到交互式。From closed-set to open-vocabulary segmentation,From generic to referring segmentation,From one-shot to interactive segmentati…...

Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...