这是我的异常类 DB_ERROR_REMOVE = 203
CLOUD_ERROR = 300
class MyError(Exception):
def __init__(self, code, message, recommendation):
self.code = code
self.message = message
self.recommendation = recommendation
Exception.__init__(self)
这是 flask 初始化代码:
app = Flask(__name__)
api = Api(app)
@app.errorhandler(MyError)
def my_exception_handler(error):
return "!!!!" + repr(error) + repr(traceback.format_exc())
我像这样提出错误:
raise MyError(1,"bla","foo")
没听懂。 如果我对 Exception 做同样的事情,它确实会捕获它:
@app.errorhandler(Exception)
def my_exception_handler(error):
return "!!!!" + repr(error) + repr(traceback.format_exc())
最佳答案
事实证明,我正在使用 add_resource
在我的应用中定义路由
一旦我使用@app.route
定义它们
异常
@app.route('/<string:productName>/', methods=['POST', 'GET'])
def get(productName, examUniq):
raise MyError(111, "message", "test")
@app.errorhandler(MyError)
def my_exception_handler(error):
return "!!!!" + repr(error) + repr(traceback.format_exc())
错误已被捕获。
关于python - Flask 没有注册异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28744014/