Python进阶学习(6)异常

文章目录

  • 异常
    • 1.异常的定义
    • 2.异常错误
    • 3.异常处理(捕捉异常)
    • 4.assert断言
    • 5. 定义异常

异常

1.异常的定义

什么是异常:报错
也可以去链接资源访问某个网站时,中断程序,也叫异常

捕捉异常:因为我们在程序编写中,把一些容易出错的,或者觉得有问题的代码进行处理,期间该代码不能影响后面程序的正常出错

2.异常错误

  1. 语法错误:捕捉不了,因为语法错误是可以避免的 --syntaxError

  2. 逻辑错误
    NameErrot 没有定义
    TypeError 类型错误,不同数据类型之间是不能相加
    IndexError 下标索引超出范围

3.异常处理(捕捉异常)

语法格式:
try:代码块(怀疑有问题的代码块,或者经常出错的代码块)except 异常类型:代码(编写输出指定或者自己自定义的报错文字)else:代码块如果try里面捕捉不了异常就运行这个代码块finally:不管有没有捕捉到异常,都会执行这个代码(关闭线程, 关闭链接)拓展:
Exception 可以捕捉全部异常    
a = "小明是好人"try:# print(a[100])print(a[1])# as 就是massg储存了捕捉异常的数值
except IndexError as massg:# 如果try中的代码没有错误,就不会运行这里面的代码# 如果try这边代码有错误,就不会运行上面的try代码而是运行except代码print("没有这么长的序列")print(massg)else:print("是的,就是这么长的序列")finally:print("不管上面有没有报错,有一说一小明真是好人")

4.assert断言

assert 断言 判断语言, 下结论

就是测试,下判断

在表达式不成立,程序就是不会继续执行

格式:assert 判断表达式,返回移除信息判断表达式的返回值必须是bool值当不符合需求,后面再运行代码是没有任何意义
a = 100
b = 200# 崩溃式的报错,但是报错信息可以自定义
# 给内部技术人员看的
assert a > b, "你数学是体育老师教的吗"
print("是的, 100是大于200呀")

5. 定义异常

raise 自定异常, 自己可以定义异常信息

格式:
raise Exception(返回异常信息)

money = int(input("请支付1000元"))if money < 1000:raise Exception(f"一共1000元,你只是支付了{money}")elif money > 1000:print(f"返回金额为{money - 1000}")else:print(f"交易成功")

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

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

相关文章

MySQL | 库的操作 | 表的操作

目录 1. 库的操作 1.1. 创建数据库 1.2. 字符集和校验规则 1.2.1. 查看系统默认字符集以及校验规则 1.2.2. 查看数据库支持的字符集 1.2.3. 查看数据库支持的字符校验规则 2. 操作数据库 2.1. 查看数据库 2.2. 显示创建语句 2.3. 修改数据库 2.4. 数据库的删除 2.4.…

维基百科推广秘诀13个方法助你成为行业领导者-华媒舍

维基百科&#xff08;Wikipedia&#xff09;作为全球最大、最权威的在线百科全书&#xff0c;拥有海量的知识内容&#xff0c;被广大用户广泛使用。对于任何一个领域的从业者来说&#xff0c;建立自己的维基百科页面&#xff0c;无疑是提升行业影响力的重要手段。本文将向您介绍…

Linux学习(4)——使用编辑器

1.gedit编辑器 简单易懂&#xff0c;依赖图形界面。可以使用ctrlc ctrlv等快捷键&#xff0c;ctrls进行保存&#xff0c;与windows系统中相类似。 2.vi/vim编辑器 vi/vim可以直接通过控制台的终端完成文本的编辑&#xff0c;不依赖图形界面&#xff0c;使用范围更广。它的编辑…

DataX-数据迁移Oracle到Mysql-ETL工具

一、安装 https://github.com/WeiYe-Jing/datax-web/blob/master/doc/datax-web/datax-web-deploy.md 1、直接下载DataX工具包&#xff1a;DataX下载地址 下载后解压至本地某个目录&#xff0c;进入bin目录&#xff0c;即可运行同步作业&#xff1a; $ cd {YOUR_DATAX_HOME}/…

Redis数据结构对象之字符串对象

字符串对象 字符串对象的编码可以是int、raw或者embstr 如果一个字符串对象保存的是整数值&#xff0c;并且这个整数值可以用long类型来表示&#xff0c;那么字符串对象会将整数值保存在字符串对象结构的ptr属性里面(将void *转换成long)&#xff0c;并且将字符串对象的编码设…

为啥这么做实现不了优雅关闭服务,gin 项目

所谓的优雅关闭服务就是 在关闭服务时&#xff0c;服务不再监听新的请求&#xff0c;并且可以将之前的请求处理完毕。 细节请看 专栏博客Gin项目实战09-优雅关闭服务

【Cute】MMA抽象代码理解 c2d9bff3d88846eb8c523fb722166bc9

【Cute】MMA抽象代码理解 导读&#xff1a; cute 之 Layoutcute Layout 的代数和几何解释cute 之 Tensorcute 之 MMA抽象cute 之 简单GEMM实现 阅读本文前建议先读上面reed大神的数篇文章&#xff0c;文本逻辑主要是针对具体的代码&#xff0c;记录一下自己学习过程中的理解…

Atlas200板卡部署车道线

本博客包含推理的准备和部署代码&#xff0c;一步步实现部署。 这个运行时生成的一个batch的数据&#xff0c;NCHW,就是输入的N&#xff0c;单图片推理就是1&#xff0c;把里面的数量改成1&#xff0c;但是你可以多生成一些bin图片放到校准文件夹中&#xff0c;更改输出文件名…

“城市绿肺诊断:集成GIS、RS、VORS模型、CCDM模型、geodetecto、GWR模型技术深入解析生态系统与城镇化协调发展“

基于GIS、RS、VORS模型、CCDM模型、geodetecto、GWR模型集成的生态系统健康的耦合协调分析 城市群是一国经济发展水平的象征&#xff0c;也是一国经济发展到一定阶段的标志&#xff0c;我国城市群建设体量不断增加&#xff0c;将成为全球经济的核心&#xff0c;中国城市群的建…

MyFileServer

靶场下载地址 https://download.vulnhub.com/myfileserver/My_file_server_1.ova 信息收集 # nmap -sn 192.168.56.0/24 -oN live.nmap Starting Nmap 7.94 ( https://nmap.org ) at 2024-02-24 22:07 CST Nmap scan report for 192.168.56.2 (192.168.56.2) Host is up (0.…

QML与C++通信

一、QML中如何使用C的类和对象 前提条件&#xff1a; 1.从 QObject 或 QObject 的派生类继承 2.使用 Q_OBJECT 宏 这两个条件是为了让一个类能够进入 Qt 强大的元对象系统&#xff08;meta-object system&#xff09;中&#xff0c;只有使用元对象系统&#xff0c;一个类的某些…

Vue2前端权限控制实战

在Vue2项目中&#xff0c;前端权限控制是保障应用安全性的重要环节。本文将介绍如何使用Vue2实现前端权限控制&#xff0c;包括页面路由权限控制和按钮级别的权限控制。 一、页面路由权限控制 页面路由权限控制主要是根据用户的角色或权限来决定其可以访问哪些页面。在Vue2中…

- 概述 - 《设计模式(极简c++版)》

本文章属于专栏《设计模式&#xff08;极简c版&#xff09;》 “如果我看得更远&#xff0c;那是因为我站在巨人的肩膀上。” -牛顿 本系列&#xff0c;主要结合个人经验&#xff0c;对《设计模式&#xff1a;可复用面向对象软件的基础》书中经典设计模式&#xff0c;用极简的语…

HarmonyOS NEXT应用开发—状态栏显隐变化

介绍 本示例介绍使用Scroll组件的滚动事件 onScroll 实现状态栏显隐变化。该场景多用于各种软件的首页、我的等页面中。 效果预览图 使用说明 加载完成后显示状态栏显隐变化页面&#xff0c;上下拖动屏幕&#xff0c;顶端状态栏出现显隐变化。 实现思路 在置顶位置使用sta…

文件夹秒变应用程序?别慌,数据恢复有妙招!

在日常使用电脑的过程中&#xff0c;我们有时会遇到一个令人头疼的问题&#xff1a;原本好好的文件夹突然变成了应用程序的图标&#xff0c;点击也无法正常打开。这种“文件夹变应用程序”的现象不仅让人感到困惑&#xff0c;还可能导致重要文件的丢失或损坏。那么&#xff0c;…

vite ts vue 项目提示 . Projects must list all files or use an include pattern.

vite ts vue 项目提示 . Projects must list all files or use an include pattern. 在引用一个 ts 的时候&#xff0c;提示如下&#xff1a; 需要在 tsconfig.node.json 文件中添加&#xff1a; {"compilerOptions": {"composite": true,"skipLibC…

变量命名之函数命名

变量命名: 变量命名和函数名命名 方式一:camel命名 因相骆驼脊背形象命名 大骆驼法:当变量名或函数名由一个或多个单词连接在一起的,从第一个单词首字母也大写了,后面每个单词都大写. 例子: HI_S32 HI_MPI_VI_SetDevAttr(VI_DEV ViDev,const VI_DEV_ATTR_S* pstDevAttr);HI_S…

Vue2(四):Vue监测数据的原理

一、先来看一个问题 添加一个按钮点击更新马冬梅的信息&#xff1a; <button click"gengxin">点击更新马冬梅的信息</button> methods:{gengxin(){this.person[1].name马老师,this.person[1].age50,this.person[1].sex男}} 下面这种方式就不能奏效&a…

【前端】-css的详解

&#x1f496;作者&#xff1a;小树苗渴望变成参天大树&#x1f388; &#x1f389;作者宣言&#xff1a;认真写好每一篇博客&#x1f4a4; &#x1f38a;作者gitee:gitee✨ &#x1f49e;作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 动态规划算法&#x1f384; 如 果 你 …

信号(Linux)

信号 前言1. 引入2. 概念3. 初步认识ctrlc信号4. 硬件中断 一、信号的产生1. 键盘组合键2. kill命令3. 系统调用①kill②raise③ abort 4. 异常①异常产生信号②原理 5. 软件条件6. 小结 二、信号的保存1. 引入2. 原理3. 接口①信号集——sigset_t②sigprocmask③sigpending④使…