Python异常处理

1、异常概述

(1)异常:Python用异常对象来表示异常情况,遇到错误后,会引发异常,如果异常对象未被处理捕捉,程序就会用所谓的回溯终止执行

(2)异常处理:程序出现bug时不将错误信息显示给用户,而是现实一个提示的页面

2、常见python 异常:

(1)AttributeError:试图访问一个对象没有的属性,比如foo.x,但是foo没有属性x

(2)IOError:输入/输出异常;基本上是无法打开文件

(3)ImportError:无法引入模块或包;基本上是路径问题或名称错误

(4)IndentationError:语法错误(的子类) ;代码没有正确对齐

(5)IndexError:下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5]

(6)KeyError:试图访问字典里不存在的键

(7)KeyboardInterrupt:Ctrl+C被按下

(8)NameError:使用一个还未被赋予对象的变量

(9)SyntaxError Python代码非法,代码不能编译(个人认为这是语法错误,写错了)

(10)TypeError:传入对象类型与要求的不符合

(11)UnboundLocalError:试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,导致你以为正在访问它

(12)ValueError:传入一个调用者不期望的值,即使值的类型是正确的

3、 抓取异常

try:
    name = "dayi123"
    age = int(name)
except Exception as e:    #抓取所有的异常,并将异常错误信息赋值给e
    print("error:")
    print(e)

4、根据异常错误抓取异常

#IO错误
try:
    with open(‘dayi123.txt‘,‘r‘) as f:
        print(f.read())
except IOError:    #文件不存在时会执行下面语句
    print("no file ")#下标错误
try:
    name = ["dayi","xiaowang","xiaoli"]
    name[4]
 
except IndexError as e: #如果访问列表中的元素不存在,则报下面错误
   print("下标错误")

5、同时抓取多个异常

try:
    name = ["dayi","xiaowang","xiaoli"]
    name[2]
    info_dict = {‘name‘:"dayi",‘age‘:18,‘job‘:"it"}
    info_dict["mail"]   #访问字典里不存在的key
except (IndexError,KeyError) as e:   #同时抓取两个错误
    print("下标错误或键错误")

6、分类抓取异常

try:       #将要抓的异常程序写在try下
    name = "dayi"
    name_list = [‘xiaochen‘,‘eric‘,‘jack‘]
    age = int(name)
    print(name)
    print(name_list[4])
except NameError as err:    #若果异常关键字为NameError,则执行下面内容
    print(err)
except IndexError as err:   #若果异常关键字为IndexError,则执行下面内容
    print(err)
    print(‘do sth to make up..........‘)
except Exception as e:      #抓取所有的异常并将异常信息赋给e
    print(‘---->some error i do not know:‘,e)
else:                    #如果没有异常,则执行下面内容
    print("---no err happend---")
finally:               #不管有没有异常,都会执行下面内容
    print("---no matter has error or not,this willpart all")
print(‘--do sth else---‘)

7、制作自己的异常

class DayiError(Exception):
    def __init__(self, msg):
        self.message = msg
    # def __str__(self):
    #    return ‘sdfsf‘
try:
    raise DayiError(‘数据库连不上‘)
except DayiError as e:
    print(e)
时间: 2024-11-05 12:15:54

Python异常处理的相关文章

Python 异常处理

Python 异常处理 python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误.你可以使用该功能来调试python程序. 异常处理: 本站Python教程会具体介绍. 断言(Assertions):本站Python教程会具体介绍. python标准异常 异常名称 描述 BaseException 所有异常的基类 SystemExit 解释器请求退出 KeyboardInterrupt 用户中断执行(通常是输入^C) Exception 常规错误的基类 StopIter

Python 异常处理--raise函数用法

raise语句手工引发一个异常: 1 "raise" [expression ["," expression ["," expression]]] 在Python中,要想引发异常,最简单的形式就是输入关键字raise,后跟要引发的异常的名称.异常名称标识出具体的类: Python异常处理是那些类的对象.执行raise语句时,Python会创建指定的异常类的一个对象.raise语句还可指定对异常对象进行初始化的参数.为此,请在异常类的名称后添加一个

十一、Python异常处理

Python异常处理 异常抛出机制,为程序开发人员提供了一种在运行时发现错误,进行回复处理,然后继续执行的能力 #!/usr/bin/python try: open('abc.txt') except IOError,msg: pass 抛出机制: 如果在运行时发生异常的话,解释器会查找相应的处理语句(称为handler) 要是在当前函数力没有找到的话,它会将异常传递给上层的调用函数,看看那里能不能处理 如果在最外层(全局"main")还是没有找到的话,解释器就会退出,同时打印出tr

第十节:python异常处理、类

python个人笔记,纯属方便查询. -----------------------python异常处理------------------------- try:         name=['a','b','c']         name[3] except IndexError:         print 'you list is out of range.........' 意思是让原本的错误改成自己想要的错误提示. try:         name=['a','b','c']  

python异常处理和面向对象编程总结

异常处理和面向对象编程,是python编程中,比较重要的基础.在实际生产编程设计和开发中,异常处理和面向读象都是必须在设计和开发过程中充分考虑的.    对于python开发和面向对象这两部分基础,用一个python程序进行封装说明,结果如下: #!/usr/bin/env python # _*_ coding:utf-8 _*_ ################# #异常处理 ################# print ''' 异常处理是用于处理软件或信息系统中出现的异常状况的一种机制,

Python异常处理总结

一.何谓异常处理 在我们调试程序时,经常不可避免地出现意料之外的情况,导致程序不得不停止运行,然后提示大堆提示信息,大多是这种情况都是由异常引起的.异常的出现一方面是因为写代码时粗心导致的语法错误,这种错误在程序编译时就可以发现:另一方面也可能是因为程序逻辑错误,这种错误往往是不可避免地,只能通过异常处理来防止程序退出. 二.异常类型 Python自带的异常处理机制非常强大,提供了很多内置异常类,可向用户准确反馈出错信息.Python是面向对象语言,认为一切皆对象,所以异常也是对象.Python

Python异常处理与程序调试

Python异常处理与程序调试 Python提供了强大的异常处理机制,通过捕获异常可以提高程序的健壮性.异常处理还具有释放对象,中止循环的运行等作用.在程序运行的过程中,如果发生了错误,可以返回事先约定的一个错误代码. "try...except"语句 用于处理问题语句,捕获可能存在的异常.try子句的代码块中放置的可能出现异常的语句,except子句中的代码用于处理异常.当异常出现时,Python会自动生成一个异常对象. >>> try: ... f = open(

第七章 Python异常处理

什么是异常? 顾名思义,异常就是程序因为某种原因无法正常工作了,比如缩进错误.缺少软件包.环境错误.连接超时等等都会引发异常.一个健壮的程序应该把所能预知的异常都应做相应的处理,应对一些简单的异常情况,使得更好的保证程序长时间运行.即使出了问题,也可让维护者一眼看出问题所在.因此本章节讲解的就是怎么处理异常,让你的程序更加健壮. 7.1 捕捉异常语法 try...except... try:      expression except [Except Type]:      expressio

【代码学习】PYTHON 异常处理

一.什么是异常 在程序执行过程中可能会影响程序的正常执行,一般情况下,在python无法正常处理程序时就会发生一个异常 当python脚本发生异常时我们需要捕获处理他,否则程序会终止执行 二.异常处理 捕捉异常可以使用try/except语句. try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理. 如果你不想在异常发生时结束你的程序,只需在try里捕获它. 三.捕获异常 try的工作原理是,当开始一个try语句后,python就在当前程序的上下文中作标