异常处理
时间:2019-09-12
本文章向大家介绍异常处理,主要包括异常处理使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在所有语言中,我们在学习和工作中都不可避免地会遇到错误。
程序异常或者错误主要可以分为两种:语法错误和逻辑错误。
特点:
程序一旦发生异常,就从错误的位置停了下来。不在继续执行后面的内容。
但是有时我们希望可以举行执行下面的语句或者对我发出提醒。
这是我们就可以使用try:except来实现:
try: tet = int(input("请输入一个数字》》")) print(tet*'34') except ValueError: print('请输入数字')
我们可以看到程序直接跳过了出错的代码而去执行了下面的代码。
使用try和·except来处理异常:
- tre是我们需要处理的代码
- except后面跟一个错误数据类型,当代码发生错误且错误类型符合的时候,就会执行except中的代码。
3.except是支持多分支的
4.当然,我们可以使用Exception来处理所有的异常。但是有个缺点如果只用万能异常处理,你将会不知道你在哪出错了。因为它的提示都是一个。所以我一般使用多分枝和万能异常相结合。万能异常放在最后。
我们在使用万能异常时,应注意标记一下,方便提醒我们具体是哪报错了。
1 try: 2 tet = int(input("请输入一个数字》》")) 3 print(tet*'34') 4 # except ValueError: 5 # print('请输入数字') 6 except Exception as error: 7 print('错误',error)
try和else
1 try: 2 tet = int(input("请输入一个数字》》")) 3 print(tet*'34') 4 except ValueError: 5 print('请输入数字') 6 else: 7 print('套象成功3')
当我代码运行玩try中代码之后没有报错就会执行else里面的代码来提醒我们没有异常。
finally
不管代码是否异常,都会执行。
1 def func(): 2 try: 3 # dfdsfsdf 4 # dsfssgf 5 ret = open('套你大象', 'w') 6 ret.close() 7 return True 8 except: 9 ret.close() 10 finally: 11 print('执行力finally') 12 ret.close() 13 14 print(func())
finally和return相遇后依旧会执行。所以finally在函数里面使用。
我们可以使用它去做一些收尾工作。比如:我们在操作数据库时,不管最后程序是否有没出错都要关闭数据库。我们可以使用finally来实现
原文地址:https://www.cnblogs.com/zly9527/p/11515492.html
- Mycat -- linux安装与配置笔记
- 挖洞经验 | 记一次曲折的Getshell过程
- Java泛型一览笔录
- Java多态性的“飘渺之旅”
- Java动态代理一览笔录
- activiti-explorer部署笔记
- 没有准考证号我是如何暴力查询英语六级成绩的
- asp.net web api 2.2 基础框架(带例子)
- 走近科学:如何一步一步解码复杂的恶意软件
- OpenAI 开源机器人模拟 Python 库:优化API接口提升400%处理速度
- 远控木马上演白利用偷天神技:揭秘假破解工具背后的盗刷暗流
- 设计模式学习(三): 装饰者模式 (附C#实现)
- 浅谈非PE的攻击技巧
- hbase源码系列(十)HLog与日志恢复
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 使用代码修改SAP CRM附件的属性
- SAP CRM附件创建的internal模式是什么含义
- 搭建maven私服上传并使用Jar包
- Docker 容器跨主机多网段通信解决方案
- Docker 容器实现数据持久化
- mongodb----复制
- CentOS磁盘挂载
- Mono for Android 实现高效的导航
- MyBatis版本升级导致OffsetDateTime入参解析异常问题复盘
- elasticSearch学习(二)
- 146. LRU缓存机制 Krains 2020-08-05 12:50:28 链表
- 337. 打家劫舍 III Krains 2020-08-05 10:18:45 动态规划
- 58道Vue常见面试题集锦,涵盖入门到精通,自测 Vue 掌握程度
- 记一次Linux计划任务cron无结果的排查过程
- 一文学会使用 CSS 中的 min(), max(), clamp() 以及它们的使用场景用例