适当的方法在文件中处理文件中的异常方法

  • 本文关键字:文件 方法 异常 处理 python
  • 更新时间 :
  • 英文 :


在文件实用程序中我有:

def validation():
        try:
            csrf_key, session_token, form_token = csrfKey, str( session[ 'csrf_token' ] ), request.values.get( 'csrf_token' )
        except:
            print( "except" )
            # Should I raise() here ?
        else:
            print( "after except" )

在文件控制器中,我有某个时候:

def validation() # call

理想情况下,我希望实用程序文件中的异常完全中断脚本执行,但没有退出。但是,由于不可能,是否有适当的处理方法,是在实用程序文件中重新raise(),然后在控制器文件中重新尝试/尝试/除外,因此,从实用程序到控制器文件将传播例外。这是处理这种情况的正确方法吗?

这样做的一种方法是,如果验证失败并让控制器打印消息,则从实用程序文件中返回" false"。您还可以记录除外的失败原因。但最终,根据您对程序的期望,"正确"的方式取决于您。另外,"不可能"是不正确的 - 一切可能。Try-Except语法中有"最后"子句,无论如何都将执行。

我将从 validation函数中删除try/除块,而是将其放在控制器文件中的调用函数中。

so:

def validation():
    csrf_key, session_token, form_token = csrfKey, str( session[ 'csrf_token' ] ), request.values.get( 'csrf_token' )
    return csrf_key, session_token, form_token

并致电:

try:
    csrf_key, session_token, form_token = validation()
except:
    print "Your err msg"
finally:
    # run other code...

如果您想重新尝试,则可以将其放在成功的循环中。希望这会有所帮助!

最新更新