我是靠谱客的博主 懦弱鸭子,最近开发中收集的这篇文章主要介绍python捕获全局异常统一管理_python – 任何异常的全局错误处理程序,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

你可以使用@ app.errorhandler(Exception):

Demo(HTTPException检查确保状态代码被保留):

from flask import Flask, abort, jsonify

from werkzeug.exceptions import HTTPException

app = Flask('test')

@app.errorhandler(Exception)

def handle_error(e):

code = 500

if isinstance(e, HTTPException):

code = e.code

return jsonify(error=str(e)), code

@app.route('/')

def index():

abort(409)

app.run(port=1234)

输出:

$http get http://127.0.0.1:1234/

HTTP/1.0 409 CONFLICT

Content-Length: 31

Content-Type: application/json

Date: Sun, 29 Mar 2015 17:06:54 GMT

Server: Werkzeug/0.10.1 Python/3.4.3

{

"error": "409: Conflict"

}

$http get http://127.0.0.1:1234/notfound

HTTP/1.0 404 NOT FOUND

Content-Length: 32

Content-Type: application/json

Date: Sun, 29 Mar 2015 17:06:58 GMT

Server: Werkzeug/0.10.1 Python/3.4.3

{

"error": "404: Not Found"

}

对于较旧的Flask版本(<= 0.10.1,即当前的任何非git / master版本),请将以下代码添加到应用程序中以显式注册HTTP错误:

from werkzeug import HTTP_STATUS_CODES

for code in HTTP_STATUS_CODES:

app.register_error_handler(code, handle_error)

最后

以上就是懦弱鸭子为你收集整理的python捕获全局异常统一管理_python – 任何异常的全局错误处理程序的全部内容,希望文章能够帮你解决python捕获全局异常统一管理_python – 任何异常的全局错误处理程序所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部