如何有效地捕获异常并检查参数是否为None

Mic*_*hal 0 python exception-handling

想象一下,你有一个函数,在某些错误情况下会给出异常并在某些情况下返回None(它不是由我设计的,我需要使用它).现在,您需要处理这些错误,但是以相同的方式(向用户显示消息,记录并优雅地退出).

我一直在做这样的事情:

try:
    result = weird_func()
except:
    *same functionality* do something here

if not result:
    *same functionality* do the same here as in the except block
Run Code Online (Sandbox Code Playgroud)

但它确实非常糟糕.有没有办法巧妙地将这两者合二为一?我一直在考虑使用try/finally,但它看起来有点奇怪.

有什么建议?

Len*_*bro 5

try:
    result = weird_func()
except TheExceptionYouWantToCatch:
    result = None

if result is None:
    #Whatever you want
Run Code Online (Sandbox Code Playgroud)