>>> def foo():
r=some_function()
if r==(-1):
return (-1)
return r
def bar():
r=foo()
if r==(-1):
print('Error')
else:
pass
>>> try:
print('try..')
r=10/0
print('resultL',r)
except ZeroDivisionError as e:
print('except:',e)
finally:
print('finally...')
print('end')
try..
except: division by zero
finally...
end
>>>
try:
print('try..')
r=10/int('a')
print('resultL',r)
except ValueError as e:
print('ValueError:',e)
except ZeroDivisionError as e:
print('except:',e)
finally:
print('finally...')
print('end')
try:
print('try..')
r=10/int('2')
print('resultL',r)
except ValueError as e:
print('ValueError:',e)
except ZeroDivisionError as e:
print('except:',e)
else:
print('no error!')
finally:
print('finally...')
print('end')
>>> def foo(s):
return 10/int(s)
def bar(s):
return foo(s)*2
def main():
try:
bar('0')
except Exception as e:
print('Error:',e)
finally:
print('finally...')
>>> main()
Error: division by zero
finally...
>>>
class FooError(ValueError):
pass
def foo(s):
n=int(s)
if n==0:
raise FooError('invalid value:%s'%s)
return 10/n
foo('0')
def foo(s):
n=int(s)
if n==0:
raise ValueError('invalid value:%s'%s)
return 10/n
def bar():
try:
foo('0')
except ValueError as e:
print('ValueError')
raise
bar()