eddik 发表于 2018-8-16 08:21:51

python自定义异常

#!/usr/bin/env python  
#ecoding:utf-8
  

  
class FuncError(Exception):
  
    def __str__(self):
  
      return "I am func Error"
  

  
def fun():
  
    raise FuncError() #raise 抛出异常"I am func Error"
  

  
try:
  
   #fun()
  
    print'a'         #print 'a'正确显示结果,如果是print a,报错name error,打印!!
  
except FuncError,e:    #如果print a 和fun()同时存在,print a在前,会打印!!,不打印I am fun error, fun()在前,打印I am fun error,不打印!!
  
    print e
  
except NameError:
  
    print '!!'
  
else:                  #不抛异常,输出a,这种情况下执行else内容
  
    print 'else'
  
finally:               #finally无论如何都执行
  
    print 'finally'
  
print 'hello world'    #print一定会执行
  

  

  
# python ErrorExcept.py
  
a
  
else
  
finally
  
hello world
  

  

  
#!/usr/bin/env python
  
#ecoding:utf-8
  

  
class FuncError(Exception):
  
    def __str__(self):
  
      return "I am func Error"
  

  
def fun():
  
    raise FuncError() #raise 抛出异常"I am func Error"
  

  
try:
  
   fun()               #即使有两个异常,抛出一个异常I am func Error,不再抛出第二个
  
   printa
  
except Exception:       #匹配所有异常,匹配即结束,打印all exception
  
    print 'all exception'
  
except FuncError,e:
  
    print e
  
except NameError:
  
    print '!!'
  
else:                   #没有异常菜执行else,有异常不执行
  
    print 'else'
  
finally:
  
    print 'finally'
  
print 'hello world'
  

  
# python ErrorExcept.py
  
all exception
  
finally
  
hello world
页: [1]
查看完整版本: python自定义异常