try关键字,定义获取程序错误

except关键字,出现异常错误执行里面的代码

Exception定义错误类,Exception能获取到所有类型的错误错误,as创建错误对象名称,自动获取错误信息

#!/usr/bin/env python
# -*- coding:utf8 -*-
"""获取程序错误信息"""
try: #try关键字定义获取程序错误
#代码块
a = str(字符串)
print(a)
except Exception as e: #except关键字出现异常错误执行里面的代码,Exception定义错误类,as创建错误对象自动获取错误信息
print(e) #打印错误对象输出错误信息
# 输出
# name '字符串' is not defined

python中的异常种类非常多,每个异常专门用于处理获取某一项异常

常见错误类型

AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x
IOError 输入/输出异常;基本上是无法打开文件
ImportError 无法引入模块或包;基本上是路径问题或名称错误
IndentationError 语法错误(的子类) ;代码没有正确对齐
IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5]
KeyError 试图访问字典里不存在的键
KeyboardInterrupt Ctrl+C被按下
NameError 使用一个还未被赋予对象的变量
SyntaxError Python代码非法,代码不能编译(个人认为这是语法错误,写错了)
TypeError 传入对象类型与要求的不符合
UnboundLocalError 试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,
导致你以为正在访问它
ValueError 传入一个调用者不期望的值,即使值的类型是正确的
我们在以后记录错误时,要想记录对应的错误信息可以用以下办法
先用对应的错误类型来获取,如果都不是前面对应的错误类型,最后用Exception来获取
#!/usr/bin/env python
# -*- coding:utf8 -*-
"""获取程序错误信息"""
try:
a = str(字符串)
print(a)
except AttributeError as c: #出现对应错误就获取到信息,打印出来,如果不是对应错误则不执行
print(c)
except IOError as d: #出现对应错误就获取到信息,打印出来,如果不是对应错误则不执行
print(d)
except ImportError as e: #出现对应错误就获取到信息,打印出来,如果不是对应错误则不执行
print(e)
except Exception as f: #都不是上面对应的错误,用Exception来不管是上面错误都获取到
print(f)
# 输出
# name '字符串' is not defined

else主代码块执行完,执行该块
finally无论异常与否,最终执行该块

#!/usr/bin/env python
# -*- coding:utf8 -*-
try:
#主代码块
a = str(hjhb)
except Exception as e:
#代码错误执行模块
print(e)
else:
print("主代码块执行完,执行该块")
finally:
print("无论异常与否,最终执行该块")

主动触发异常,也就是没有错误,主动触发一个错误

raise关键字,主动触发一个错误

#!/usr/bin/env python
# -*- coding:utf8 -*-
try:
#主代码块
a = str("")
raise Exception('错误了。。。')
except Exception as e:
#代码错误执行模块
print(e)
# 输出
# 错误了。。。
 

Python--异常处理和断言的更多相关文章

  1. python异常处理与断言以及日志模块

    python异常处理与断言 目录: 1.异常处理 2.断言(assert) 3.日志模块(logging) 4.修改之前的车票信息查询,把日志模块.异常处理加进去 1.异常处理 代码如下: 语法: t ...

  2. python异常处理和断言

    http://blog.csdn.net/pipisorry/article/details/21841883 关于异常处理有必要么的讨论 最重要的问题是你在开发过程中隐藏了bug,如果当时你没加这个 ...

  3. (69)Python异常处理与断言

    http://blog.csdn.net/pipisorry/article/details/21841883 断言 断言是一句必须等价于布尔真的判定;此外,发生异常也意味着表达式为假.这些工作类似于 ...

  4. python异常处理、断言

    异常处理基本语法 捕获异常 try: 语句1 语句2 ... except ERRNAME as e: print(e) #尝试执行语句,捕获到ERRNAME异常时打印异常信息e 捕获多个异常 try ...

  5. 14、python异常处理及断言

    前言:本文主要介绍python中异常的处理及断言,包括异常类型.异常捕获.主动跑出异常和断言. 一.异常类型介绍 什么是异常?异常即是一个事件,该事件会在程序执行过程中发生,会影响程序的正常执行,一般 ...

  6. [Python学习笔记][第八章Python异常处理结构与程序调试]

    1/30 第八章Python异常处理结构与程序调试 异常处理 try-except结构 try: try块 except Exception: except块 try-except-else结构 tr ...

  7. python异常处理try,except,else,finally,raise

    先看下else的使用: try: ... exception: ... else: ... 只有在try中没有发生任何异常,所有代码完全成功的情况下才会转入else 再看下finally: final ...

  8. Python 异常处理

    Python 异常处理 python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误.你可以使用该功能来调试python程序. 异常处理: 本站Python教程会具体介绍. 断言 ...

  9. Python异常处理总结

    一.何谓异常处理 在我们调试程序时,经常不可避免地出现意料之外的情况,导致程序不得不停止运行,然后提示大堆提示信息,大多是这种情况都是由异常引起的.异常的出现一方面是因为写代码时粗心导致的语法错误,这 ...

  10. Python异常处理回顾与总结

    1 引言 在我们调试程序时,经常不可避免地出现意料之外的情况,导致程序不得不停止运行,然后提示大堆提示信息,大多是这种情况都是由异常引起的.异常的出现一方面是因为写代码时粗心导致的语法错误,这种错误在 ...

随机推荐

  1. Win10系列:C#应用控件基础1

    Button控件 在Windows应用商店应用的开发中,Button控件是使用比较频繁的控件之一,当用户单击Button控件时,会触发相应的单击事件并在定义好的事件处理方法中执行指定的功能.下面将介绍 ...

  2. C# 爬虫DLL文件 学习网站

    http://blog.csdn.net/u013063099/article/details/73201649?locationNum=15&fps=1 http://www.cnblogs ...

  3. servlet之中文乱码:request.getParameter()

    参考: http://blog.csdn.net/u014558484/article/details/53445178

  4. 图的邻接矩阵存储实现,C++描述

    body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...

  5. python 正则表达式笔记

    #!usr/bin/env python3 #-*- coding:utf-8 -*- #正则表达式 #在正则表达式中,如果直接给出字符,就是精确匹配.用\d可以匹配一个数字,\w可以匹配一个字母.数 ...

  6. 输入系统:epoll & inotify

    一.epoll 作用:检测一个或多个文件的可读.可写等属性变化: 代码示例: #include <sys/epoll.h> #include <stdio.h> #includ ...

  7. loadrunner json参数化

    因为json格式有{},所以LR参数化时如果也用默认的{}的话,会冲突,这样脚本运行时就无法识别,导致不能正确的读取参数化文件里的内容,此时把参数化的{}改成其他符号即可,比如<>

  8. 在MATLAB中安装MinGW-w64 C/C++ 编译器的方法

    reference:http://blog.sina.com.cn/s/blog_167bbdec10102x113.html 在MATLAB中编译C/C++ 文件时出现以下情况: 说明缺少MinGW ...

  9. matlab中文本文件与图像转化

    一  将图片转化为txt文本文件 a=imread('picture.bmp');   //读取picture.bmp图片 b=rgb2gray(a);                 //由rgb图 ...

  10. python笔记2-变量

    变量 存东西所用 #定义变量 name='feifei'#定义变量,字符串 age=18.9#整型或者小数定义变量不需要加引号 print(name) print(age) name2="w ...