尝试-除了-在函数内部处理并可能处理单独的文件吗?

时间:2018-12-02 14:20:19

标签: python python-3.x python-2.7

我得到了一段捕获错误的代码。是否可以在函数内部编写错误处理,然后仅在代码内部对其进行引用?目的是将所有错误处理都放在一个单独的文件中,并在需要时在代码内调用该类。

这是正常的方式,并且可以正常工作

#!/usr/bin/env python3
def main():
    try: 
        x = int("foo")
    except ValueError:
        print("I cought a ValueError")

if __name__ == '__main__': main()

我想尝试这样的事情,但是可能这样的事情吗?以及如何以适当的方式完成?:

#!/usr/bin/env python3


#All the error handeling goes here:

def exceptValueError():
    except ValueError:
        print("I cought a ValueError")

def exceptZeroDivisionError():
    except ZeroDivisionError:
        print("You cant devide by zero")


#Code goes here

def main():
    try: 
        x = int("foo")
    exeptValueError()

if __name__ == '__main__': main()

这给了我

    except ValueError:
         ^
SyntaxError: invalid syntax

是否可以使用try和代替except使用包含except的函数?我认为那是不可能的。

1 个答案:

答案 0 :(得分:1)

def exeptValueError():
    except ValueError:
        print("I cought a ValueError")

这将不起作用,因为在except块之前没有try块(main中的try块不计算在内)。

您可以执行以下操作,但仍会接近您想要的

def exceptValueError():
    print("I caught a ValueError")

def main():
    try: 
        x = int("foo")
    except ValueError:
        exceptValueError()