Python档案袋(异常与异常捕获 )

无异常捕获

程序遇到异常会中断

print( xxx )
print("---- 完 -----")

得到结果为:

有异常捕获

程序遇到异常会进入异常处理,并继续执行下面程序

try:
 print( xxx )
except NameError as e:
    print("出现错误",e)
print("---- 完 -----")

抓住所有异常

try:
  print(xx)
except Exception as e:
  print("----异常---%s"%e) #输出:----异常---name ‘xx‘ is not defined

捕获多个异常:

方法一:

【except (异常1,异常2) as e:】如果多个异常可以使用一个处理方法时,可使用多异常捕获方法

方法二:

多个异常,使用不同的异常处理,但这样只会进入第一个发生异常处,然后跳出异常捕获

xx=[ ]
try:

 print( xxx ) #NameError
 print(xx[1]) #IndexError

except NameError as e:
    print("出现错误1",e)
except IndexError as e:
    print("出现错误2",e)
except Exception as e:
    print("未知错误",e)

print("---- 完 -----")

else和finally的用法

try:
 print( xxx ) #NameError
except NameError as e:
    print("出现错误1",e)
else:
    print("一切正常")

finally:
    print("不管有没有错,我必须执行")

print("---- 完 -----")

自定义异常:

 1 class DongExcep(Exception):
 2     def __init__(self,msgxx):
 3         self.msgx=msgxx
 4
 5     #实质调用该方法,可以不写也会输出类属性值
 6     def __str__(self):
 7          return "东==>:%s"%(self.msgx)
 8
 9 try:
10    #抛出自定义异常
11    raise DongExcep("东小东自定义异常")
12
13 #捕获自定义异常
14 except DongExcep as e: #
15     print("出现错误1",e)
16
17 print("---- 完 -----")

注意:

缩进错误(IndentationError),不可被捕获

原文地址:https://www.cnblogs.com/dongxiaodong/p/10493604.html

时间: 2024-11-05 18:38:07

Python档案袋(异常与异常捕获 )的相关文章

Python Special Syntax 9 : 异常捕获

#-*-coding:utf-8 import sys try: strInput=int(raw_input('input sth.')) f=file('d:\\kjdsklslkdkl2l23223.datdk') except (EOFError,ValueError): #多重异常 print(ValueError.message) print('eof or value') except: print('unknow error') else: print('good') Pytho

【python学习】8.异常

[python学习]8.异常 raise Exception: 抛出指定异常 try/except: 捕捉异常 except: 第一个参数是需要捕获的异常类型,可以是多个类型组成元组,第二个参数是捕获到的异常对象, raise: 抛出已经捕获的异常 else: 当没有捕获的异常时候执行 finally: 总会被执行 def test(): try: raise Exception("test") except (Exception), e: print "Exception&

python——面向对象篇之异常和反射

内置函数isinstance和issubclass 1.1 isinstance用法: 1 isinstance(string,str) 判断第一个参数是否是第二个参数的子集,例如: 1 print isinstance("test",str) #判断test是否是字符串类型 2 3 C:\Python27\python.exe D:/python/s11/8day/反射/test.py 4 5 True 6 7 8 print isinstance(123,int) #判断123是否

python的异常处理及异常类定义

python的异常处理语法和大多数语言相似: try: try块的语句... except exceptiontype1 as var:#使用as语句获得本次捕获到的异常的实例var except块语句... except exceptiontype2 as var: except块语句... except: except块语句... else: else块语句... finally: finally块语句... 执行的流程分两类: 1.try->若有异常发生->except->fina

Python大法之抛 异常

python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误.你可以使用该功能来调试python程序. 我们来看下都有哪些异常: python标准异常 异常名称 描述 BaseException 所有异常的基类 SystemExit 解释器请求退出 KeyboardInterrupt 用户中断执行(通常是输入^C) Exception 常规错误的基类 StopIteration 迭代器没有更多的值 GeneratorExit 生成器(generator)发生异常来通知退出

Python基础总结之异常、调试代码第十二天开始(新手可相互督促)

年薪20万的梦想,加油! 我们在写代码的时候,控制台经常会报错,因为某种错误,导致我们的程序停止,且不再运行下面的代码. 我们看一个错误的代码示例: def add_1(): #没有参数 print('我出错了') #不会被执行 def add_2(): #函数二调用函数一 print('第二个函数调用函数一,并给他一个参数') add_1(4) #函数一没有参数,所以有会报异常,并终止,不会执行函数一里面的代码 def add_3(): #函数三调用函数二 add_2() d = add_3(

python中不同的异常类型,如何进行异常处理?

一.错误与异常 程序中难免会出现错误,而错误分为两种 1.语法错误:(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) 2.逻辑错误:(逻辑错误),比如用户输入的不合适等一系列错误 那什么是异常呢? 异常就是程序运行时发生错误的信号,在python中,错误触发的异常如下.异常发生之后,异常之后的代码就不执行了 异常种类:在python中不同的异常可以用不同的类型(python中统一了类与类型,类型即类)去标识, 不同的类对象标识不同的异常,一个异常标识一种错误 常见的异

Python异常详解:基类、具体异常、异常层次结构

在 Python 中,所有异常必须为一个派生自 BaseException 的类的实例. 在带有提及一个特定类的 except 子句的 try 语句中,该子句也会处理任何派生自该类的异常类(但不处理 它 所派生出的异常类). 通过子类化创建的两个不相关异常类永远是不等效的,既使它们具有相同的名称. 下面列出的内置异常可通过解释器或内置函数来生成.除非另有说明,它们都会具有一个提示导致错误详细原因的“关联值”. 这可以是一个字符串或由多个信息项(例如一个错误码和一个解释错误的字符串)组成的元组.

python打印详细的异常信息

#!/usr/bin/env python #coding=utf-8 import traceback try: 1/0 except Exception, e: print e print traceback.format_exc() python打印详细的异常信息,布布扣,bubuko.com