在项目中很多情况希望能自定义处理某些异常情况,通常采用重写rescue_action方法。一般网上能看到的代码都是以下的形式:
def rescue_action(exception)
rescue_action_in_public(exception)
end
def rescue_action_in_public(exception)
logger.error("rescue_action_in_public executed")
case exception
when ActiveRecord::RecordNotFound, ActionController::RoutingError,
ActionController::UnknownAction,ActionController::UnknownAction
logger.error("404 displayed")
render(:file => "#{RAILS_ROOT}/public/404.rhtml",:layout=>'error',
:status => "404 Not Found")
else
logger.error("500 displayed")
render(:file => "#{RAILS_ROOT}/public/500.rhtml",:layout=>'error',
:status => "500 Error")
end
end
这样经常会报:
uninitialized constant ActionWebService::Dispatcher::ActionController::RoutingError错误,解决的办法是在ActionController前加::, 正确的格式应该如下:
case exception
when ActiveRecord::RecordNotFound, ::ActionController::RoutingError,
::ActionController::UnknownAction,::ActionController::UnknownAction
logger.error("404 displayed")
render(:file => "#{RAILS_ROOT}/public/404.rhtml",:layout=>'error',
:status => "404 Not Found")
else
logger.error("500 displayed")
render(:file => "#{RAILS_ROOT}/public/500.rhtml",:layout=>'error',
:status => "500 Error")
end
分享到:
相关推荐
js 实现 自定义错误处理样式! 值得下载看看!资源免费,大家分享!!
标题 "tp5 自定义错误显示.zip" 暗示了这个压缩包可能包含了关于ThinkPHP5框架自定义错误处理机制的相关资源。ThinkPHP5(简称TP5)是PHP开发的一款轻量级、高效的MVC框架,它允许开发者通过自定义错误处理来优化...
自定义IIS错误页面不仅限于基本的HTML页面,还可以使用ASP.NET、PHP或其他支持的脚本语言创建动态错误页面,这样可以根据具体情况提供更灵活的错误处理和报告。 总结来说,IIS自定义错误文件是提升用户体验和维护...
// 在这里可以自定义错误处理逻辑,比如记录日志、返回特定的错误信息等 int statusCode = response.getRawStatusCode(); String statusText = response.getStatusText(); // ... 自定义错误处理代码 ... } } `...
3. **处理异常**:除了通过HTTP状态码,还可以通过捕获运行时异常来触发自定义错误页面。在`web.xml`中,可以这样配置: ```xml <exception-type>java.lang.Throwable <location>/error/global_error.jsp ``...
在设置自定义错误处理函数时,需要传递一个函数名作为参数给set_error_handler()。 接下来,我们来看看ErrHandler函数的具体实现。这个函数接收四个参数:错误编号($errorno)、错误消息($errorstr)、出错的文件($...
Spring Boot提供了一种简单的方法来设置自定义错误页面。我们可以创建一个名为error的目录在src/main/resources/templates下,然后在这个目录中放入对应的HTML文件。例如,将404.html、500.html和401.html分别放在该...
Flask:Flask错误处理与自定义错误页面.docx
主要介绍了PHP自定义错误处理的方法,结合实例形式分析了php错误处理机制及php自定义错误处理相关操作技巧,需要的朋友可以参考下
自定义错误处理机制可以帮助我们更好地管理和报告程序中的异常情况,提高代码的可读性和维护性。本文将深入探讨如何在不同层次之间实现自定义错误的层层递出,并提供源码供直接使用。 自定义错误通常涉及到以下几个...
计算机后端-PHP最佳开发入门实战课程09-02 自定义错误处理等级.mp4
4. 配置服务器:在服务器端设置错误处理机制,将默认的错误页面替换为自定义的错误页面。例如,在Apache或Nginx服务器中,可以通过修改配置文件实现这一功能。 5. 测试:确保在各种错误情况下,自定义错误页面都能...
ApacheHTTP服务器的错误处理与自定义错误页面.docx
计算机后端-PHP最佳开发入门实战课程09-03 自定义错误处理函数-2.mp4
计算机后端-PHP最佳开发入门实战课程09-03 自定义错误处理函数-1.mp4
在某些情况下,可能会需要自定义额外的错误级别来更精确地分类和管理日志信息。例如,项目可能需要区分"serious"和"alarm"这样的级别,以分别处理不同严重程度的问题。 扩展Log4j的日志级别涉及以下几个关键步骤: ...
这可以通过设置自定义错误处理函数来实现,比如使用`set_error_handler()`函数。 3. **返回错误信息**:当数据验证失败时,可以返回一个数组或对象,包含错误代码和错误信息,便于前端展示并引导用户进行修正。 4. *...
总之,"Delphi 程序出错时的弹出消息框仿真" 是一个关于自定义错误处理和用户界面设计的实践示例。通过学习和理解这个例子,开发者可以提高自己的 Delphi 程序的健壮性和用户友好性。同时,对于界面编程的深入理解和...