47. try except的作用是什么,如何使用?

用于捕获异常,try语句包含可能出现异常的代码,如果出现异常则会跳到except相匹配的代码 并顺序执行。如果没有匹配的excep语句,则会跳到调用这个函数代码的地方,如果不是函数 那会直接退出程序。

如果try的代码没有发生异常则执行else语句的代码。如果发生过异常则不执行else代码。 最终都会执行到finally的代码。例如:

def divide(x, y):
    try:
        result = x / y
        return reulst;
    except ZeroDivisionError:
        print("division by zero!")
    else:
        print("result is", result)
    finally:
        print("executing finally clause")

print(divide(10,5))
print(divide(10,0))

输出内容为:

executing finally clause
2.0
division by zero!
executing finally clause
None

注意以下两点

  • 在函数返回之前会始终执行finally语句。

  • else语句在try子句有返回语句时,不会被执行。