# -*- coding:utf-8 -*-
import logging
def testError(a):
try:
print("try...")
r=10/int(a)
print("[result]:%s"%r)
except ValueError as e:
print("ValueError:%s."%e)
logging.exception(e)
except ZeroDivisionError as e:
print("ZeroDivisionError:%s."%e)
logging.exception(e)
else:
print("no error.")
finally:
print("finally...")
print("END")
def foo(a):
return 100/int(a)
def bar(b):
return foo(b)*2
def crlf(c):
try:
print("try...")
x=bar(c)
print("result:%s."%x)
except ValueError as e:
print("ValueError:%s."%e)
logging.exception(e)
except ZeroDivisionError as e:
print("ZeroDivisionError:%s."%e)
logging.exception(e)
finally:
print("finally...")
print("END")
class aooError(BaseException):
def __init__(self,path):
self.path=path
def __str__(self):
return self.path
def __repr__(self):
return self.path
def aoo(a):
_a=int(a)
if _a==0:
raise aooError("this is error %s."%a)
return 10/_a
def testAoo(a):
try:
print('try...')
aoo(a)
except aooError as e:
print('------------',e)
raise #非常关键
finally:
print("finally...")
print('end')
if __name__=="__main__":
# a=input()
# testError(a)
# print("---------------------")
# crlf(a)
a=input()
testAoo(a)