时间:2021-05-22
Tornado 文档中提到但是这样只能捕获到handlers中列出的路径请求中的错误。
如果只定义了(r"/hello", HelloHandler) 一条规则,那么只能捕获到 /hello/other,这样的未定义路径请求,而像/he、/helloworld、/he/other这样的会直接显示Tornado默认的404错误页面,而不会显示自定义的错误页面。
解决方法很简单只需要在路由规则的最后加一条(r".*", BaseHandler),用于捕获未被其他规则捕获的所有请求,然后覆写get方法,并在方法中调用自定义的write_error方法。 例:
复制代码 代码如下:
class BaseHandler(tornado.web.RequestHandler):
def get(self):
self.write_error(404)
def write_error(self, status_code, **kwargs):
if status_code == 404:
self.render('public/404.html')
elif status_code == 500:
self.render('public/500.html')
else:
self.write('error:' + str(status_code))
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
摘要比起回调函数,使用Promise来处理异步错误要显得优雅许多。结合Express内置的错误处理机制和Promise极大地降低产生未捕获错误(uncaught
Web开发中,除了数据操作之外,最频繁的就是发起和处理各种HTTP请求了,加上HTTP请求又是异步的,如果在每个请求中来单独捕获各种常规错误,处理各类自定义错误
set_error_handler()不能捕获致命错误(具体错误类型见手册)。所以需要如下方法:
PS:1.捕获PHP语法错误2.严重错误用正常的set_error_handle无法捕获此两类错误,这是捕获此类错误的技巧复制代码代码如下://test.php
大家都知道,做一个网站是都会和404页面有交集的,那么问题来了,什么是404错误页面?404错误页面应该如何设置呢?下面跟小编一起来了解一下让你的404页面变的