Python 错误 异常

8 错误,调试和测试

  8.1错误处理

  所有的异常来自 BaseException

 

  记录错误 :

  # err_logging.py

 

import logging

 

def foo(s):

    return 10 / int(s)

 

def bar(s):

    return foo(s) * 2

 

def main():

    try:

        bar('0')

    except Exception as e:

        logging.exception(e)

 

main()

print('END')

-----------------

抛出错误给上级

# err_reraise.py

 

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()

------------------------

8.3单元测试

unittest.TestCase内置了许多方法

posted @ 2017-11-28 18:06  smartwen  阅读(153)  评论(0编辑  收藏  举报