当我们写代码可能会遇到各类异常的时候,一定会用到try catch逻辑。这个就是一个简单地python的try catch的实现。
try: 1/0 except: # we will get error message. print("get some error!") pass else: # this won't get it here. as we have get error before. print("This is other work to do.")
因为我们遇到的error,所以else不会执行。让我们实现一个可以执行else的功能。
try: a = 1 except: # we will get error message. print("get some error!") pass else: # this won't get it here. as we have get error before. print("This is other work to do.") print("Now a is {}".format(a))
这样我们就可以看到输出了a
的值。
但我们什么使用try-except-else呢?一个应用比较多的就是,利用try去做一些可能会遇到异常的功能,如果没有问题,然后我们可以利用try没有问题的功能执行else的功能。
举例:
很多源代码里面都需要引用其他包,但其中几个不是必须的功能,现在的实现就是try去import some_package
,如果引用失败,就直接pass或是报一个warning,然后else实现就是利用这个包来实现相应的功能。