看标题觉得高大上,好像能处理所有的异常。但是,事实是只能按照字面的意思来理解这一段话。

众所周知写代码哪有不出bug的?

那么出现了bug 我们不想让程序因为bug的存在而退出。那么要怎么做呢?

今天来写一下这个。

try:

  代码

except exception:

  代码

注意:except exception  会捕捉所有的异常,简称:万能异常。而我所知道的异常有: 索引异常 变量名字异常 迭代异常 无法调用异常 。。。。。等等有很多异常

但是一旦使用万能异常就会包庇所有的其它异常。正常的使用方式是应该把万能异常写在捕捉异常的最下方。  except 去捕捉你知道或者预料要出现的异常。这样写的好处是方便你改bug

我们的异常处理应该是小段小段的使用,方便代码的调试。

except exception as a:  print(a)  可以打印出异常的类型

为了偷懒,so我就没有打代码,直接粘贴过来图片了,  捕捉异常之后可以使用else:   else的作用是假如这个程序没有报错执行else内的代码。

举例:我们发送邮件的时候会存在发送的邮箱号码不能使用,或者网络错误无法发送。我们不知道是否这个邮件发送出去了。那么else就可以用在捕捉异常之后,意思是代码没有发生异常使用else内的代码!

finally 的作用比较神奇,不管是代码无异常运行还是异常运行都会运行到finally内 ,那么它的作用比较神奇。它在函数内部使用,即使return 也会运行finally内的代码。

粘贴一发老师写的总结:

# 程序一旦发生错误,就从错误的位置停下来了,不在继续执行后面的内容
# 使用try和except就能处理异常
#try是我们需要处理的代码
#except 后面跟一个错误类型 当代码发生错误且错误类型符合的时候 就会执行except中的代码
#except支持多分支
#有没有一个能处理所有错误的类型 : Exception
# 有了万能的处理机制仍然需要把能预测到的问题单独处理
# 单独处理的所有内容都应该写在万能异常之前
# else : 没有异常的时候执行else中的代码
# finally : 不管代码是否异常,都会执行
# finally和return相遇的时候 依然会执行
# 函数里做异常处理用,不管是否异常去做一些收尾工作

python异常捕捉以及处理的更多相关文章

  1. python 异常捕捉与异常处理

    简介 在实际开发中,为了防止异常界面直接被用户看到,往往我们会采用捕捉异常的方式来进一步处理异常. 异常捕捉 如下代码由于下标越界会导致异常 data = range(10) print(data[1 ...

  2. python 异常捕捉总结

    Process finished with exit code -1 错误 执行代码 pycharm2020.1中手动中断程序,可是却捕捉不了中断异常,并且输出Process finished wit ...

  3. Python异常捕捉try except else finally有return时执行顺序探究

    转载自 https://www.cnblogs.com/JohnABC/p/4065437.html 学习python或者其他有异常控制的编程语 言, 大家很有可能说try except finall ...

  4. Python异常捕捉的一个小问题

    问题: names = ['taotao','songwenjing','liu','li']I = iter(names)while True: try: s = next(I) except Ex ...

  5. python 异常

    引用一段来自菜鸟教程的文章:http://www.runoob.com/python/python-exceptions.html Python 异常处理 python提供了两个非常重要的功能来处理p ...

  6. #21 Python异常

    前言 运行程序时经常遇到各种错误,例如:ImportError(导入模块错误).IndexError(索引错误).NameError(变量错误).SyntaxError(语法错误).Indentati ...

  7. Python学习手册之Python异常和文件

    在上一篇文章中,我们介绍了 Python 的函数和模块,现在我们介绍 Python 中的异常和文件. 查看上一篇文章请点击:https://www.cnblogs.com/dustman/p/9963 ...

  8. (9)python 异常

    以下程序是python2版本下测试的代码 一.内置异常 没有错误信息的普通异常 raise Exception 添加错误信息的异常 raise Exception ('...错误') 内建异常 异常名 ...

  9. python——异常except语句用法与引发异常

    except: #捕获所有异常 except: <异常名>: #捕获指定异常 except:<异常名1,异常名2):捕获异常1或者异常2 except:<异常名>,< ...

随机推荐

  1. JavaScript最后的课程笔记

    一.快捷位置和尺寸 DOM已经提供给我们计算后的样式,但是还觉得不方便,所以DOM又提供给我们一些API: ele.offsetLeft ele.offsetTop ele.offsetWidth e ...

  2. Linux 学习目录

    1 VIM 快捷键

  3. 电脑忘记WiFi密码了,但又想知道,该怎么办?

    如何查看电脑已经连过的WiFi的密码? 你有没有遇到这样的情况,电脑之前连过的WiFi,正好手机也想连此WiFi,但是忘记密码了,没有WiFi的手机怎么能叫手机呢?.下面我们来看看如何查看已连接过的W ...

  4. Python【每日一问】10

    问:请解释一下迭代器 答:可以被 __next__() 函数调用并不断返回下一个值的对象称为迭代器:Iterator

  5. 2018-2019-2 20165312《网络攻防技术》Exp1 PC平台逆向破解

    2018-2019-2 20165312<网络攻防技术>Exp1 PC平台逆向破解 一.Exp1.1 直接修改程序机器指令,改变程序执行流程 知识要求:Call指令,EIP寄存器,指令跳转 ...

  6. sqoop的安装

    Sqoop是一个用来完成Hadoop和关系型数据库中的数据相互转移的工具, 他可以将关系型数据库(MySql,Oracle,Postgres等)中的数据导入Hadoop的HDFS中, 也可以将HDFS ...

  7. c#获取当前系统时间,并提取按格式提取年月日为字符串

    class Program { static void Main(String[] args) { DateTime currentTime = System.DateTime.Now; string ...

  8. docker(ce) on Ubuntu

    Note: # - requires given linux commands to be executed with root privileges either directly as a roo ...

  9. mybaties插件生成代码

    指定插件运行什么xml,关于如何用idea创建一个maven项目,可以看我以前写的博客 <?xml version="1.0" encoding="UTF-8&qu ...

  10. 【学习】数据处理基础知识(缺失值处理)【pandas】

    缺失数据(missing data)大部分数据分析应用中非常常见.pd设计目标之一就是让缺失数据的处理任务尽量轻松. pd 使用浮点值NaN(Not a Number) 表示浮点和非浮点数组中的缺失数 ...