Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python googleappengine中的异常处理_Python_Google App Engine_Exception Handling - Fatal编程技术网

Python googleappengine中的异常处理

Python googleappengine中的异常处理,python,google-app-engine,exception-handling,Python,Google App Engine,Exception Handling,我正在使用 if UserId == '' and Password == '': raise Exception.MyException , "wrong userId or password" 但我想在同一页上打印错误消息 class MyException(Exception): def __init__(self,msg): Exception.__init__(self,msg) 你不是在用电脑吗?假设您正在处理POST请求,那么: class L

我正在使用

if UserId == '' and Password == '':
    raise Exception.MyException , "wrong userId or password" 
但我想在同一页上打印错误消息

class MyException(Exception):
    def __init__(self,msg):
        Exception.__init__(self,msg)
你不是在用电脑吗?假设您正在处理POST请求,那么:

class LoginError(Exception):
    CODES = { 'mismatch': 'Wrong credentials', 'disabled': 'Account disabled' }
    ...

try:
    // your authentication code
    raise LoginError('mismatch')
    ...
    raise LoginError('disabled')
except LoginError as e:
    self.redirect(your_login_url + '?err=' + e)

# In login page you must not print arbitrary GET parameter directly
err_reason = LoginError.CODES[self.request.get('err')]`
(登录请求应该使用POST方法,因为它会更改服务器的状态,并且在POST之后重定向是一个好习惯,因此是重定向。)

您没有使用?假设您正在处理POST请求,那么:

class LoginError(Exception):
    CODES = { 'mismatch': 'Wrong credentials', 'disabled': 'Account disabled' }
    ...

try:
    // your authentication code
    raise LoginError('mismatch')
    ...
    raise LoginError('disabled')
except LoginError as e:
    self.redirect(your_login_url + '?err=' + e)

# In login page you must not print arbitrary GET parameter directly
err_reason = LoginError.CODES[self.request.get('err')]`

(登录请求应该使用POST方法,因为它会更改服务器的状态,并且在POST之后重定向是一个好习惯,因此是重定向。)

为什么引发异常而不是仅仅停止函数执行并使用return语句重定向到新页面

为什么引发异常而不是仅仅停止函数执行并使用return语句重定向到新页面

只需将err\u reason变量传递到模板(更新了示例代码)。只需将err_reason变量传递给模板(更新了示例代码)。