`
raisun_1988
  • 浏览: 117877 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

MonoRail学习笔记九:Rescue的使用

    博客分类:
  • .Net
阅读更多

Rescue是MonoRail中处理异常的一种机制
在asp.net或者java开发中我们都要进行异常处理,即发生异常时跳转到某一个错误页面。以前很多时候我们都是自动定义一种方式来处理的,在MonoRail中提供了一种现成的机制来处理异常

使用方式很简单,只要加入一个Rescue属性就可以了。
我们先来看看一个最简单的方式:


Controller代码:
[Rescue("/error")]
publicclassErrorController:SmartDispatcherController
{
publicErrorController()
{
}

[Rescue(
"/argerror",typeof(ArgumentException))]
publicvoidIndex()
{
//thrownewArgumentException("dddd");
thrownewException("fff");
}

}


vm代码:
<html>
<body>
<center>
<h2>出错了</h2>
$context.LastException.Message
</center>
</body>
</html>

那么当我们调用/error/index.rails页面时,由于Index方法抛出Exception,那么会自动显示出/error.vm文件,并且在此文件中可以取得异常的信息
当Index方法抛出ArgrmentException时,会自动显示出/argerror.vm文件
也就是说Rescue属性可以定义在类和方法上,在类上定义的话对类中所有方法有效,在方法中定义的话会覆盖到类中同类的异常处理机制

有了这种机制之后,我们就可以定义自己的一个异常类,然后再定义一个父的controller类,指定Rescue属性,其他所有的controller类都从此类继承。这样,在我们的代码中就不需要再考虑异常的处理了,会自动由父类接管。

其他相关点:
当某个方法不需要此异常机制时,可以如下定义:

[SkipRescue]
publicvoidSkipAction()
{
//thrownewArgumentException("dddd");
thrownewException("fff");
}

指定SkipRescue属性就可以了
分享到:
评论

相关推荐

    monorail::monorail:单轨电车| 网络设计系统

    :monorail: 单轨| 网络设计系统Monorail for React帮助开发人员执行。 这些组件由SimSpace的工程师和UX设计师的核心团队开发,可实现可靠的开发工作流程,以构建美观且功能强大的Web项目。快速开始将Monorail添加到...

    MonoRailSample.rar

    MonoRail学习笔记一:一个小例子 随着微软放出消息,准备发布MVC的框架,各种议论纷至沓来。 以前用java、jsp对它的MVC结构、集中控制印象特别深刻,自从用了.NET后,虽然webform的控件很好用,总感觉有点怪怪的 ...

    RAILS::monorail:RAILS 和 :man’s_shoe::hammer:鞋匠

    它们可用于使用任何长的、最好是高质量的序列(例如来自另一个基因组草图的 scaftigs/contigs)来构建和完成高质量的基因组草图组装。 它们都依赖于准确的长 DNA 序列来修补现有基因组组装草案中的空白。 Cobbler...

    MonoRail基础学习文档和实例

    本资源包含“MonoRail基础学习文档”和“实例”,旨在帮助初学者快速入门并深入理解MonoRail的使用。 首先,让我们详细了解 MonoRail 的核心概念: 1. **Controller**:在MonoRail中,Controller是处理用户请求的...

    MonoRail例子(入门篇)

    MonoRail是 Castle Project 的一部分,它是一个开源的、基于.NET框架的Web应用程序开发框架,设计用于替代ASP.NET Web Forms,提供了更面向对象...继续学习和探索MonoRail的其他功能,将帮助你充分利用这个强大的框架。

    monorail的小例子

    Monorail,中文名单轨列车,是针对.NET平台的一个早期...通过深入理解Monorail,开发者可以更好地理解现代Web框架的设计原则,这将有助于他们在使用其他类似框架(如ASP.NET MVC、ASP.NET Core MVC等)时更加得心应手。

    MonoRail入门实例

    本教程将引导你逐步了解MonoRail的基本概念和使用方法,包括filter、home、rescue、routing和layout这五个关键部分。 1. **MonoRail框架介绍** MonoRail是由Castle Project开发的,它借鉴了Ruby on Rails的设计...

    学习资料monorail

    然而,由于提供的信息较少,无法确定此处“学习资料monorail”具体指的是哪个方面,因此我将从Monorail的多个可能含义来展开讨论。 首先,如果Monorail是指一种编程框架,最知名的可能是 Castle Monorail,这是一个...

    Monorail PaginationHelper.CreateCustomPage 自定义分页

    ### Monorail PaginationHelper.CreateCustomPage 自定义分页应用解析 #### 一、概述 在Web开发中,分页是一项非常实用且常见的功能,它能够有效地处理大量数据展示时可能出现的性能问题。Monorail框架提供了`...

    kirby-vue3-starterkit:with带Vue 3和Kirby的SPA

    Kirby + Vue.js入门套件主要特征 :motorway: 自动路由 :magnifying_glass_tilted_left: SEO友好:元标记 :globe_with_meridians: :wheelchair_symbol: 无障碍前端路由 :monorail: :dizzy: 页面数据 :high_voltage: ...

    ShoppingCart-MonoRail.rar

    《MonoRail:构建高效Web应用的框架探索》 MonoRail,这个名字在IT行业中或许并不如ASP.NET那样耳熟能详,但它却是.NET平台上的一个强大且灵活的Web应用程序框架。"ShoppingCart-MonoRail.rar"这个压缩包,包含了对...

    MonoRail 实体类生成器

    MonoRail实体类生成器是一款专为Castle MonoRail框架设计的工具,旨在提高开发效率,减少程序员手动编写实体类的工作量。...了解并熟练使用这类工具,对于提升MonoRail项目的开发效率具有重要意义。

    monorail的过滤器

    你可以通过查看和分析这些文件来深入了解如何在Monorail项目中实际使用和配置过滤器。 总的来说,Monorail的过滤器机制提供了强大的功能,可以帮助开发者在不侵入业务逻辑的情况下增强应用程序的功能和安全性。通过...

    ibatisnet+monorail+vs2010

    通过学习和实践这个"ibatisnet+monorail+vs2010"项目,开发者可以深入理解如何在.NET环境中集成和使用这些技术,提高Web开发技能。同时,这个实例也展示了如何在一个现代化的开发环境中实现灵活的数据访问和高效的...

    MonoRail .net

    MonoRail支持多种视图引擎,如NVelocity或NHaml,允许开发者使用模板语言编写动态页面。 4. **模型(Models)**: 模型包含业务逻辑和数据,它们是应用程序的核心。在MonoRail中,模型类可以直接与数据库交互,或者...

    MonoRail+IBatisNet +Velocity

    MonoRail、IBatisNet 和 Velocity 是三个在C#开发中常用的技术框架,它们分别用于不同的领域,但在实际项目中常被结合使用以构建高效、灵活的Web应用。下面将详细介绍这三个技术及其组合使用的要点。 **MonoRail** ...

    monorail简单例子

    Monorail,中文常被称为“单轨框架”,是.NET平台上的一款轻量级Web应用程序...在深入学习Monorail时,你还会发现它对测试驱动开发(TDD)友好,支持依赖注入(DI)以及插件架构,这些都是它成为开发者选择的重要因素。

    MonoRail 上传文件 整合FCK

    MonoRail是.NET平台上的一款轻量级的Web应用框架,它为开发者提供了强大的MVC(Model-View-Controller)模式支持,旨在提供比ASP.NET更灵活、更可扩展的开发环境。在 MonoRail 中实现文件上传功能,特别是整合...

    MonoRail+实体类生成器.rar

    文件列表中的"实体类生成器"可能是生成实体类的工具程序,而"MonoRail+实体类生成器"可能是一个包含具体配置和示例的项目文件,用户可以通过这个项目了解如何使用实体类生成器与MonoRail框架配合工作。 总的来说,...

Global site tag (gtag.js) - Google Analytics