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

python基础语法八-异常

书接上回:

python基础语法一-基本数据类型

python基础语法二-多维数据类型

python基础语法三-类

python基础语法四-数据可视化

python基础语法五-函数

python基础语法六-正则匹配

python基础语法七-openpyxl操作excel

1. 异常简介

(1)异常:遇到异常可以继续正常执行,不会终止

(2)python中的异常继承层次

      BaseException

           |

-------------------------------------------------------------------------------

|                                          |                 |                            |

KeyBoardInterrupt     Exception   SystemExit      GeneratorExit

                                           |

                           NameError/ValueError等

2. try…except结构

(1)格式:

try:

          可能引发异常的语句块

except[ BaseException [as e]]:  # e:异常对象

          异常处理语句块

2

import traceback

try:

    print('1')

    a=3/0

    print('2') # skip

except:

    print('error')

3. try 多个except结构

(1)格式:

try:

           可能引发异常的语句块

except Exception1:

           异常1处理语句块

except Exception2:

           异常2处理语句块

       ...

except BaseException [as e]:

           异常处理语句块

3

try:

     a = float(input('please input the dividend:'))

     b = float(input('please input the divisor:'))

     c = a/b

     print('%d / %d = %d' % (a, b, c))

except ZeroDivisionError:

     print('divisor shouldn\'t be zero')

except ValueError:

     print('string shouldn\'t be input')

 except BaseException as e:

     print(e)

4. try...except(可以多个)...else结构

(1)try里是可能有异常的语句块,如果有异常则进入except,没有异常则进入else

4

 try:

     a = float(input('please input the dividend:'))

     b = float(input('please input the divisor:'))

     c = a/b

 except ZeroDivisionError:

     print('divisor shouldn\'t be zero')

 except ValueError:

     print('string shouldn\'t be input')

 except BaseException as e:

     print(e)

 else:

     print('%d / %d = %d' % (a, b, c))

5. try...except...finally结构

(1)说明:try里是可能有异常的语句块,无论是否有异常,一定会进入finally。

(2)典型应用:处理文件时,最后一定要关闭该文件

5

try:

     a = float(input('please input the dividend:'))

     b = float(input('please input the divisor:'))

     c = a/b

 except ZeroDivisionError:

     print('divisor shouldn\'t be zero')

 except ValueError:

     print('string shouldn\'t be input')

 except BaseException as e:

     print(e)

 else:

     print('%d / %d = %d' % (a, b, c))

 finally:

     print('end !')

6. 常见异常

(1)ZeroDivisionError :除0异常

(2)ValueError :字符串不能当做数字做运算

(2)NameError :访问一个没有声明的变量

(3)SyntaxError : 语法异常

(4)IndexError : 数组越界

(5)TypeError : 类型异常, 例如数字和字符串不能相加

(6)KeyError : 字典没有这个key

(7)AttributeError :对象不存在这个属性

7. traceback

(1)作用:打印详细的错误信息,并且可以把错误信息存储到日志文件中

7

try:

     a = 1/0

 except BaseException as e:

     with open(r"C:\Users\qinglan.he\Desktop\traceback.txt","a") as f:

         traceback.print_exc(file=f)

8. 自定义异常

8

class MyError(Exception): # 继承Exception

    def __init__(self, age):

        Exception.__init__(self)

        self.age = age

    def print_error(self):

        print('age arror! age shouldn\'t be ', self.age)

if __name__ == '__main__':

    age = 200

    if age > 150:

        my_error = MyError(age)

        my_error.print_error()

相关文章:

python基础语法八-异常

书接上回: python基础语法一-基本数据类型 python基础语法二-多维数据类型 python基础语法三-类 python基础语法四-数据可视化 python基础语法五-函数 python基础语法六-正则匹配 python基础语法七-openpyxl操作excel 1. 异常简介 (1)异常:遇到…...

【堆的应用--C语言版】

前面一节我们都已将堆的结构(顺序存储)已经实现,对树的相关概念以及知识做了一定的了解。其中我们在实现删除操作和插入操作的时候,我们还同时实现了建大堆(小堆)的向上(下)调整算法…...

【微信小程序】搭建项目步骤 + 引入Tdesign UI

目录 创建1个空文件夹,选择下图基础模板 开启/支持sass 创建公共style文件并引入 引入Tdesign UI: 1. 初始化: 2. 安装后,开发工具进行构建: 3. 修改 app.json 4. 使用 5. 自定义主题色 创建1个空文件夹,选择下…...

android系统源码12 修改默认桌面壁纸--SRO方式

1、aosp12修改默认桌面壁纸 代码路径 :frameworks\base\core\res\res\drawable-nodpi 替换成自己的图片即可,不过需要覆盖所有目录下的图片。 由于是静态修改,则需要make一下,重新编译。 2、方法二Overlay方式 由于上述方法有…...

Echarts可视化

echarts是一个基于javascripts的开源可视化图表库 画图步骤&#xff1a; 1.引入echarts.js文件 <script src" https://cdn.jsdelivr.net/npm/echarts5.5.1/dist/echarts.min.js"></script> 也可将文件下载到本地通过src引入。 2. 准备一个呈现图表的…...

验证linux gpu是否可用

通过torch验证 import torchprint(torch.__version__) # 查看torch当前版本号 print(torch.version.cuda) # 编译当前版本的torch使用的cuda版本号 print(torch.cuda.is_available()) # 查看当前cuda是否可用于当前版本的Torch&#xff0c;如果输出True&#xff0c;则表示可…...

JavaScript( 简介)

目录 含义 实例 js代码位置 1 外部引入js文件 2 在 HTML 中&#xff0c;JavaScript 代码必须位于 标签之间。 小结 含义 js是一门脚本语言&#xff0c;能够改变HTML内容 实例 getElementById() 是多个 JavaScript HTML 方法之一。 本例使用该方法来“查找” id"d…...

Linux中的编译器gcc/g++

目录 一、gcc与g的区别 1.gcc编译器使用 2.g编译器使用 二、gcc/g编译器编译源文件过程 1.预处理 2.编译 3.汇编 4.链接 三、静态库和动态库 1.库中的头文件作用 2.静态库 3.动态库 四、gcc编译器的一些选项命令 一、gcc与g的区别 gcc用于编译C语言代码&#xff…...

RK3568安装部署Docker容器

设置华为镜像源 sudo sed -i s/huaweicloud.com/ustc.edu.cn/g /etc/apt/sources.list更新索引 rootok3568:/home/forlinx# sudo apt-get update Hit:1 http://ports.ubuntu.com/ubuntu-ports focal InRelease Hit:2 http://ports.ubuntu.com/ubuntu-ports focal-updates InR…...

Ubuntu 常用指令和作用解析

Ubuntu 常用指令和作用解析 Ubuntu 是一种常见的 Linux 发行版&#xff0c;它利用了 Unix 的力量和开源软件的精神。掌握常用指令可以提高我们在使用 Ubuntu 时的效率。本文将介绍一些常见的指令及其用途。 目录 更新与安装软件文件与目录操作系统信息与资源监控用户与权限管…...

2024国赛数学建模C题完整论文:农作物的种植策略

农作物种植策略优化的数学建模研究&#xff08;完整论文&#xff0c;持续更新&#xff0c;大家持续关注&#xff0c;更新见文末名片 &#xff09; 摘要 在本文中&#xff0c;建立了基于整数规划、动态规划、马尔科夫决策过程、不确定性建模、多目标优化、相关性分析、蒙特卡洛…...

【语音告警】博灵智能语音报警灯JavaScript循环播报场景实例-语音报警灯|声光报警器|网络信号灯

功能说明 本文将以JavaScript代码为实例&#xff0c;讲解如何通过JavaScript代码调用博灵语音通知终端 A4实现声光语音告警。主要博灵语音通知终端如何实现无线循环播报或者周期播报的功能。 本代码实现HTTP接口的声光语音播报&#xff0c;并指定循环次数、播报内容。由于通知…...

指针与函数(三)

三 .指向函数的指针 函数和数组一样,经系统编译后,其目标代码在内存中连续存放,其名字本身就是一个地址,是函数的入口地址。C语言中,指针可以指向变量,也可以指向函数。 指问函数的指针的定义格式为 类型名&#xff08;*指针变量名&#xff09;参数表 其中参数表为函数指针所…...

锐捷网络2025届校园招聘正式启动,【NTA6dni】!

锐捷网络2025届校园招聘正式启动&#xff0c;内推码[NTA6dni]。 原文链接点这 投递链接点这 祝大家面试顺利&#xff0c;offer多多~ 有问题大家可以评论&#xff0c;互相交流~...

共享内存喜欢沙县小吃

旭日新摊子好耶&#xff01; 系统从0开始搭建过通信方案&#xff0c;本地通信方案的代码&#xff1a;System V IPC 里面有共享内存、消息队列、信号量 共享内存 原理 两个进程有自己的内存区域划分&#xff0c;共享内存被创建出的时候是归属操作系统的&#xff0c;还是通过…...

五、Build构建配置:jar包换名、自行定义编译规则

&#xff08;1&#xff09;jar包换名&#xff1a;finalName &#xff08;2&#xff09;自行定义编译规则&#xff08;通常不用&#xff09; Maven约定的规则就是java目录下写java代码&#xff0c;resources目录下写配置文件。 遵循规则&#xff0c;Maven会帮忙做编译。 如若…...

Html、Css3动画效果

文章目录 第九章 动画9.1 transform动画9.2 transition过渡动画9.3 定义动画 第九章 动画 9.1 transform动画 transform 2D变形 translate()&#xff1a;平移函数&#xff0c;基于X、Y坐标重新定位元素的位置 scale()&#xff1a;缩放函数&#xff0c;可以使任意元素对象尺…...

【AIStarter:AI绘画、设计、对话】零基础入门:Llama 3.1 + 千问2快速部署

对于希望在本地环境中运行先进语言模型的用户来说&#xff0c;Llama 3.1和千问2是非常不错的选择。本文将详细介绍如何在本地部署这两个模型&#xff0c;让你能够快速开始使用。 前期准备 确保你的计算机具备足够的存储空间和计算能力。安装Python环境以及必要的库&#xff0…...

多机编队—(1)ubuntu 配置Fast_Planner

文章目录 前言一、Could not find package ...二、使用error: no match for ‘operator’...总结 前言 最近想要做有轨迹引导的多机器人编队&#xff0c;打算采用分布式的编队架构&#xff0c;实时的给每个机器人规划出目标位置&#xff0c;然后通过Fast_Planner生成避障路径&…...

【数学建模经验贴】国赛拿到赛题后,该如何选题?

2024“高教社杯”全国大学生数学建模竞赛即将开赛。这可能是很多同学第一次参加国赛&#xff0c;甚至是第一次参加数学建模比赛。 那么赛题的公布也就意味着比赛的开始&#xff0c;也将是我们所要面对的第一个问题——选题。在国赛来临的前夕&#xff0c;C君想和大家聊一聊容易…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装&#xff08;Encapsulation&#xff09; 定义&#xff1a;将数据&#xff08;属性&#xff09;和操作数据的方法绑定在一起&#xff0c;通过访问控制符&#xff08;private、protected、public&#xff09;隐藏内部实现细节。示例&#xff1a; public …...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享

平时用 iPhone 的时候&#xff0c;难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵&#xff0c;或者买了二手 iPhone 却被原来的 iCloud 账号锁住&#xff0c;这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

听写流程自动化实践,轻量级教育辅助

随着智能教育工具的发展&#xff0c;越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式&#xff0c;也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建&#xff0c;…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】&#xff0c;分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...

C语言中提供的第三方库之哈希表实现

一. 简介 前面一篇文章简单学习了C语言中第三方库&#xff08;uthash库&#xff09;提供对哈希表的操作&#xff0c;文章如下&#xff1a; C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...

零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程

STM32F1 本教程使用零知标准板&#xff08;STM32F103RBT6&#xff09;通过I2C驱动ICM20948九轴传感器&#xff0c;实现姿态解算&#xff0c;并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化&#xff0c;适合嵌入式及物联网开发者。在基础驱动上新增…...

系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文通过代码驱动的方式&#xff0c;系统讲解PyTorch核心概念和实战技巧&#xff0c;涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...