python 异常处理逻辑

python的很多函数与方法都会产生异常,并将其作为发生错误或者重要事件的标志。异常也是一个对象,转换为字符串时,异常会产生一条消息文本。异常处理的简单语法格式如下:

try:
    try_suite
except exception1 as variable1:
    exception_suite1
……
except exception2 as variableN:
    exception_suiteN

异常处理逻辑如下:

如果try块中的suite都正常工作,而没有产生异常,则except模块将被跳过;如果try块中产生了异常,则控制流会立即转向第一个与该异常匹配的suite---这意味着,跟随在产生异常的语句后面的suite中的语句将不再执行;如果发生了异常,并且给定了as variable部分,则在异常处理suite内部, variale引用的是异常对象。

如果异常发生在处理except块时,或者某个异常不能与任何一个except块匹配,python就会在下一个封闭范围内搜索一个匹配的except块。对合适的异常处理模块的搜索是向外扩展的,并可以延展到调用栈内,直到发现一个匹配的异常处理模块,或者找不到匹配的模块,这种情况下,程序将终止,并留下一个未处理的异常,此时,python会打印回溯信息以及异常的消息文本。

说明:

上述内容摘自《python3程序开发指南.第二版》1.2.5.4节

时间: 2024-08-01 06:13:04

python 异常处理逻辑的相关文章

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

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

第三十九篇 Python异常处理

一. 什么是异常 异常就是程序运行时发生的错误,在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止,在python中,错误触发的异常如下 错误分成两种: #语法错误示范一 if #语法错误示范二 def test: pass #语法错误示范三 class Foo pass #语法错误示范四 print(haha 1.语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) #TypeError:int类型不可迭代 for i i

Python异常处理总结

一.何谓异常处理 在我们调试程序时,经常不可避免地出现意料之外的情况,导致程序不得不停止运行,然后提示大堆提示信息,大多是这种情况都是由异常引起的.异常的出现一方面是因为写代码时粗心导致的语法错误,这种错误在程序编译时就可以发现:另一方面也可能是因为程序逻辑错误,这种错误往往是不可避免地,只能通过异常处理来防止程序退出. 二.异常类型 Python自带的异常处理机制非常强大,提供了很多内置异常类,可向用户准确反馈出错信息.Python是面向对象语言,认为一切皆对象,所以异常也是对象.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提供了强大的异常处理机制,通过捕获异常可以提高程序的健壮性.异常处理还具有释放对象,中止循环的运行等作用.在程序运行的过程中,如果发生了错误,可以返回事先约定的一个错误代码. "try...except"语句 用于处理问题语句,捕获可能存在的异常.try子句的代码块中放置的可能出现异常的语句,except子句中的代码用于处理异常.当异常出现时,Python会自动生成一个异常对象. >>> try: ... f = open(

Python异常处理和进程线程-day09

写在前面 上课第九天,打卡: 最坏的结果,不过是大器晚成: 一.异常处理 - 1.语法错误导致的异常 - 这种错误,根本过不了python解释器的语法检测,必须在程序运行前就修正: - 2.逻辑上的异常 - 即逻辑错误,例如除零错误: - 异常相关信息:异常的追踪信息 + 异常类型 + 异常值 - 异常种类 1 ArithmeticError 2 AssertionError 3 AttributeError 4 BaseException 5 BufferError 6 BytesWarnin