Chapter10 错误和异常

# coding: utf-8

## 异常处理

def safe_float(obj):
    'safe version of float()'
    try:
        retval = float(obj)
    except (ValueError, TypeError), diag:
        retval = str(diag)
    else:
        print '没有任何错误'
    finally:
        print '最后还是要执行'

    return retval

print safe_float(11)

# raise 似乎与throw是一样的? sys.exc_info()可以获得异常信息
try:
    assert 1==2
except AssertionError:
    import  sys
    exc_tuple = sys.exc_info()
    print exc_tuple


输出:
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 /Users/panxu/PycharmProjects/PythonCore/Chapter10.py
没有任何错误
最后还是要执行
11.0
(<type 'exceptions.AssertionError'>, AssertionError(), <traceback object at 0x10b24b878>)

Process finished with exit code 0

results matching ""

    No results matching ""