【python基础学习11课_异常机制】

一、异常

1、异常的定义

异常:程序无法继续执行异常会中断程序执行异常处理,是为了不中断程序执行。而不是避免错误。有些代码是报错就是要暴露出来有了异常机制,错误的代码报错后抛出异常,代码从上到下,报错代码后面的正确的代码还是都要执行的
没有异常机制的话,错误的代码报错后,程序终止,不再继续执行。
当然,如果try和ecpet里面代码块,都有错误,那么程序一定会报错语法规则:
try:常规的代码块(可能存在着异常问题)
ecpet:补救措施的代码块,也可以忽略不计,直接使用pass占位符

二、 异常的处理

1、try和except

1)try和except只能二选一执行,不会都执行。


try正确,不走except。try错误,走except。

2)对异常进行处理,或者忽略

pass表示占位符,忽略pass异常

如果try和except都报错。程序还是会报错

3) 捕获异常--except Exception as e
语法规则:
try...
except Exception as e...

4)try和except嵌套

2、 try和finally

语法规则:
try:代码块
except:代码块
finally:   # 无论异常是否会发生,finally的代码块一定会执行代码块
"""三条路:try和except二选其一,或者都走不通,但是finally不管怎样,都会执行1.try和except同时存在问题的时候,会同时反馈报错信息
2.try、except和finally都存在问题的时候,也会同时反馈报错信息
3.try和except同时存在问题,但是finally不存在问题,会运行finally的代码,然后会抛出另外两个异常信息
1)无论报错(异常)是否会发生,finally的代码块一定会执行

有异常,有报错

有异常,没有报错

 2)try和except只能二选一执行,不会都执行。但是finally一定会执行

 3、assert异常

断言: 提前准备好 预期结果 和 实际结果 进行比较,获取这个对比的结果,只有2种结果:True Falseassert 是一个关键字语法规则:assert 预期结果 比对符号 实际结果, "报错的返回信息"正常的结果 -- 比如: print("用例测试通过")自动化的用例,通过的标准:当你的用例的代码全部成功执行结束,pass,只要被中断/报错,就为fail
1)assert 预期 =实际

 2)assert 预期 /=实际,报错

但是只给报了一个AssertionError,没有具体的报错信息

 3) assert 预期 /=实际,自定义异常

通过变量获取报错详情,报的错误信息需要自己去设计(要用英文,不要写中文,显得low)

AssertionError: 自己设计的报错信息。

 4、with...as...

语法规则:with 代码 as 变量用于文件读取,with代码块执行结束之后,会自动关闭文件as主要是把很长的文件、代码,精简成一个变量,方便操作和简洁
1)普通文件只能手动关闭,不能自动关闭

2) with执行完内部代码块,会自动关闭文件

with里面的代码可以执行,但是with执行完就会自动关闭文件,外面就不能读取了

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

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

相关文章

AI嵌入式CanMV-K230项目(1)-简介

文章目录 前言一、嘉楠的产品体系二、开发板介绍三、应用领域总结 前言 前一些列文章我们介绍了K210的使用方法,近期嘉楠科技发布了最新一版的K230芯片,下面我们来了解下这款芯片,后续我们将介绍该款芯片开发板的使用方法。 一、嘉楠的产品体…

javascript操作BOM的方法

目录 1.window.alert() 2.window.confirm() 3.window.prompt() 4.window.location() 5.window.navigator() 6.window.screen() 7.window.history() 8.window.setTimeout() 和 window.clearTimeout() 9.window.setInterval() 和 window.clearInterval() BOM&#xff08…

基于51单片机的万年历-心率脉搏计仿真及源程序-保存心率记录

基于51单片机的万年历-心率脉搏计仿真及源程序-保存心率记录 一、系统方案 1、本设计采用51单片机作为主控器。 2、液晶1602显示。 3、DS1302万年历,测心率,按键设置万年历、心率上下限,不在范围蜂鸣器报警。 4、心率测量值保存3组数据。 二、…

C语言内存优化实用指南

一、引言 在C语言编程中,内存管理是一项至关重要的任务。有效的内存优化可以提升程序的性能,减少资源消耗,并防止可能出现的内存泄漏和溢出问题。以下是一些关于C语言内存优化的实用指南。 二、理解内存管理 在C语言中,程序员需…

蓝桥杯物联网竞赛_STM32L071_11_知识体系的查漏与补缺

太久没学单片机了,再重新过一遍查漏补缺,对其中之前没怎么在意的,而现在又发觉的问题进行再分析与补充 1. debug serial wire是干什么用的 这个东西我勾选不勾选都对我的程序没有什么影响,我很好奇是干什么用的,网上查…

蓝桥杯(3.5)

789. 数的范围 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();int q sc.nextInt();int[] res new int[n];for(int i0;i<n;i)res[i] sc.nextInt();while(q-- ! 0) {int…

精准测试(针对人工执行的测试用例和自动化测试脚本)

在软件测试中&#xff0c;我们常常碰到两个基本问题&#xff08;困难&#xff09;&#xff1a; 很难保障无漏测&#xff1a;我们做了大量测试&#xff0c;但不清楚测得怎样&#xff0c;对软件上线后会不会出问题&#xff0c;没有信心&#xff1b;选择待执行的测试用例&#xf…

[网络安全] PKI

一、PKI 概述 名称; 公钥基础设施 (Public Key Facility) 作用: 通过加密技术和数字签名保证信息安全 组成: 公钥机密技术、数字证书、CA、RA 二、信息安全三要素 机密性&#xff1a;确保仅信息发收双方 能看懂信息 完整性&#xff1a; 确保信息发收完整&#xff0c;不被破坏 …

深入浅出(二)MVVM

MVVM 1. 简介2. 示例 1. 简介 2. 示例 示例下载地址&#xff1a;https://download.csdn.net/download/qq_43572400/88925141 创建C# WPF应用(.NET Framework)工程&#xff0c;WpfApp1 添加程序集 GalaSoft.MvvmLight 创建ViewModel文件夹&#xff0c;并创建MainWindowV…

一款非常适合老中医用的《书剑中医电子处方软件简明版》

上了年纪的老中医&#xff0c;虽然经验丰富&#xff0c;但是电脑的基础都比较差&#xff0c;而开处方的软件通常又设计的太复杂&#xff0c;想用电脑开处方就非常困难&#xff0c;所以只好坚持手写开处方。最近&#xff0c;小编找到了一款非常简单的《书剑中医电子处方软件简明…

第五十一回 李逵打死殷天赐 柴进失陷高唐州-AI发展历程和常用框架

朱仝说只要杀了李逵就上梁山&#xff0c;柴进就劝李逵先在庄上住一段时间&#xff0c;先让朱仝、雷横和吴用回了梁山。 李逵在柴进庄上住了一个月&#xff0c;碰到柴进的叔叔柴皇城病重来信叫他去一趟&#xff0c;于是李逵就随着柴进去了高唐州。 柴皇城被殷天锡气死&#xf…

【语法】C++学习

注意 使用devc对vector初始化使用vector v1 {1, 2, 3, 4, 5}; 报错 解决 在编译器选项中加入以下代码 -static-libgcc -stdc11