上节课我们知道通过except 可以捕获异常,但是问题在于python的异常种类非常多,我们写了一篇满满当当的代码后也不知道他具体可能会抛哪些异常,只是靠一个个的except来手写可能的异常难免有点不现实!此时此刻,Exception就该登场了!

先看一个案例:

# -*- coding: utf-8 -*-

try:

dic = {'a':1}

lis = [0,0]

print(lis[0])

print(1)

print(dic['python66'])

except NameError as e:

print('出错!打印未定义变量',e)

except ZeroDivisionError as e:

print('出错!除以0',e)

except IndexError as e:

print('出错!列表索引异常',e)

except Exception as e:

print('未知异常',e)

0

1

未知异常 'python66'

从上面可以看出,Exception的特点在于他不需要指明某个具体的异常而是直接可以去处理异常,通常放到最后一个except部分。常规的错误都可以被Exception捕获。

官方文档说:所有内置的非系统退出类异常都派生Exception类,所有用户自定义异常也应当派生自Exception类。(类是面向对象的概念,此处可以暂时理解为类就像一个装有很多变量和函数的车间,这个车间的东西可以拿来用)。详情可以参考python面向对象。

或者你也可以省略掉Exception as e,直接简写为:

# -*- coding: utf-8 -*-

try:

dic = {'a':1}

lis = [0,0]

print(lis[0])

print(1)

print(dic['python66'])

except NameError as e:

print('出错!打印未定义变量',e)

except ZeroDivisionError as e:

print('出错!除以0',e)

except IndexError as e:

print('出错!列表索引异常',e)

except:

print('未知异常')

0

1

未知异常

python except exception_try except Exception 异常处理相关推荐

  1. (P32-P33)异常处理:Python标准异常总结,异常处理,raise

    文章目录 1.Python标准异常总结 2.异常处理 3.raise 1.Python标准异常总结 Python标准异常总结 异常名称 解释 AssertionError 断言语句(assert)失败 ...

  2. python抛出异常的关键字_Python异常处理总结

    本文较为详细的罗列了Python常见的异常处理,供大家参考,具体如下: 1. 抛出异常和自定义异常 Python用异常对象(exception object)表示异常情况,遇到错误后,会引发异常.如果 ...

  3. tensorflow.python.framework.errors_impl.InvalidArgumentError exception str() failed解决办法

    项目场景: 这几天使用python2.7+tensorflow1.8写目标提取及情感分析的模型.因为参考的论文模型代码是这个环境,不得已使用了tensorflow1.8, tensorflow1.8很 ...

  4. 面向对象程序设计四(Python程序报错、异常处理)

    常见异常类型 NameError TypeError ValueError 所有的异常都是一个类,均继承于父类Exception 异常处理要点 一旦满足一种except,则程序直接执行finally, ...

  5. python Exception(异常处理)

    python异常:    python在运行时错误称为异常        语法错误:软件的结构上有错误而导致不能被解释器解释或不能被编译器编译.        逻辑错误:由于不完整或不合法的输入所致, ...

  6. python 异常分类_python的异常处理

    1. 异常 2. 异常种类 3. 异常处理 1. 异常 异常就是程序运行中发生的错误信号,如程序产生问题,而没有处理它,程序运行就将停止,py中错误触发的异常如下 2.异常种类 一般异常 Attrib ...

  7. python重命名异常_python异常处理

    异常处理 为什么需要异常处理 写程序没有人敢保证一定不会出现错误,所以异常处理就是提供给开发者在可能出现bug的位置提示错误信息 异常的一半形式 try: 需要检测的语句 except 捕获的类型 a ...

  8. Python程序开发——第九章 异常处理

    目录 一.异常 二.捕获异常 (一)try...except语句 1.单个异常 2.多个异常 3.省略异常类 (二)try...except...else语句 (三)try...except...fi ...

  9. Python入门(一) 异常处理

    异常处理 捕捉异常可以使用try/except语句. try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理. 以下是语法: 1 try: 2 <语句&g ...

  10. Python 第八篇:异常处理、Socket语法、SocketServer实现多并发、进程和线程、线程锁、GIL、Event、信号量、进程间通讯...

    本节内容: 异常处理.Socket语法.SocketServer实现多并发.进程和线程.线程锁.GIL.Event.信号量.进程间通讯.生产者消费者模型.队列Queue.multiprocess实例 ...

最新文章

  1. 小程序实现瀑布流,获取图片高度分成两组数据的函数封装代码
  2. C# 7中函数多值返回_转自InfoQ
  3. 鸟哥的Linux私房菜(基础篇)-第三章、主机规划与磁盘分区(三.3. 安装Linux前的规划)
  4. 分布式系统Paxos算法
  5. 1202此服务器的证书无效,ios - iOS:URLRequest错误域= NSURLErrorDomain代码= -1202“此服务器的证书无效 - 堆栈内存溢出...
  6. Linux自学笔记——Centos系统安装
  7. 无法将该对象添加到ldap服务器_LDAP 基础知识
  8. python3-numpy数组广播 和 np.tile 扩展数组
  9. 如果把去掉数组里面重复的项
  10. 【转载】Scarbee Pre-Bass 贝司的使用教程
  11. SpringBoot启动时 提示没有主清单属性 MANIFEST
  12. mysql linux通用版_Linux下安装通用版本的MySQL
  13. css 修改占位符(placeholder)默认颜色、字体
  14. php判断平板,一种 PHP 判断设备是否是手机/平板的方法
  15. 手机论文查重软件哪个好?
  16. js实现地图四级联动
  17. 数学建模好学吗?半年带出几十位省奖和十几位国奖
  18. MMORPG的常规技能系统
  19. Android-关于将Excel表格中的数据展示到手机屏幕上的解决方案
  20. 绘画系统——P5.js

热门文章

  1. moc 文件自动生成
  2. pip install 使用豆瓣源
  3. CCNA、CCNP、H3C认证精品视频课程
  4. 计算机毕业设计基于Python实现的药店|药房管理系统
  5. 微信公众平台实现第三方授权登录(java版)
  6. helm 错误 Error: INSTALLATION FAILED: must either provide a name or specify --generate-name
  7. @ConditionalOnProperty
  8. BZOJ2109: [Noi2010]Plane 航空管制 解题报告
  9. 不用编程语言自带函数,你会如何实现计算平方根
  10. Java8新特性 方法引用(四)