MonoRail学习笔记九:Rescue的使用

简介:

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

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


Controller代码:
    [Rescue( " /error " )]
    
public   class  ErrorController : SmartDispatcherController
    
{
        
public ErrorController()
        
{
        }

        [Rescue(
"/argerror"typeof(ArgumentException))]
        
public void Index()
        
{
            
//throw new ArgumentException("dddd");
            throw new Exception("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]
        
public   void  SkipAction()
        
{
            
//throw new ArgumentException("dddd");
            throw new Exception("fff");
        }


    本文转自永春博客园博客,原文链接: http://www.cnblogs.com/firstyi/archive/2007/10/26/939046.html ,如需转载请自行联系原作者

相关文章
您可以使用验证集来评估微调后的模型效果
【1月更文挑战第16天】【1月更文挑战第78篇】您可以使用验证集来评估微调后的模型效果
410 6
|
编解码 中间件 Go
Go语言学习 - RPC篇:gRPC拦截器剖析
我们在前几讲提到过,优秀的RPC框架都提供了`middleware`的能力,可以减少很多重复代码的编写。在gRPC-Gateway的方案里,包括了两块中间件的能力: 1. gRPC中的`ServerOption`,是所有gRPC+HTTP都会被处理 2. gRPC-Gateway中的`ServeMuxOption`,只有HTTP协议会被处理 今天,我们先关注共同部分的`ServerOption`,它提供的能力最为全面,让我们一起了解下。
298 0
|
对象存储
关于uniapp解决单/多文件上传的解决思路
关于uniapp解决单/多文件上传的解决思路
561 0
|
安全 数据安全/隐私保护 芯片
简单认识加扰与解扰
简单认识加扰与解扰
614 0
|
弹性计算 Ubuntu Linux
2024年幻兽帕鲁一键搭建服务器+一键参数设置教程
《幻兽帕鲁》这款游戏是适合多年龄段玩家进行游玩的,小伙伴们一个人玩会感觉很无聊那不妨喊上自己的好朋友们一起来玩,在这款游戏中小伙伴们需要在广袤的地图上搜寻属于自己的“帕鲁”,培养他们进行创造、战斗、制作等,帮助你创造属于自己的家园。这款游戏目前还是十分火爆的那么本期就来讲讲幻兽帕鲁服务器搭建教程。
448 1
|
并行计算 算法 量子技术
量子计算与材料科学:新型材料的快速发现
【10月更文挑战第9天】在当今科技飞速发展的背景下,材料科学作为推动科技进步的关键领域,正迎来前所未有的机遇与挑战。新材料的研发不仅需要深入理解材料的微观结构和性质,还需高效计算手段来模拟和预测性能。量子计算技术的快速发展为这一领域带来了巨大潜力。量子计算利用量子比特的叠加态和纠缠态,可处理复杂计算问题,显著提升材料科学的模拟精度和效率。通过模拟分子结构、优化材料性能及设计高效催化剂,量子计算正加速新型材料的发现,推动材料科学迈向新高度。尽管面临建设成本高、可靠性低等挑战,但其未来应用前景广阔,将为工业、能源、环保等领域带来革命性变革。
|
人工智能 自然语言处理 计算机视觉
浙大李玺团队:指代表达理解新方法,ScanFormer粗到细迭代消除视觉冗余
【9月更文挑战第14天】近年来,人工智能的迅猛发展推动了计算机视觉与自然语言处理交叉领域的研究,其中指代表达理解任务备受关注。REC的目标是在图像中根据自然语言描述定位目标对象。然而,现有方法因密集感知图像而导致计算开销大。为此,浙江大学李玺团队提出了ScanFormer,一种迭代感知框架,通过自顶向下的方式逐步提取与语言相关的视觉块,并通过信息性预测丢弃不相关部分,有效减少冗余,提升模型效率。实验表明,ScanFormer在多个基准数据集上表现优异,实现了准确性和效率的良好平衡。不过,它目前仅支持单目标定位,且在某些场景下可能不如其他方法精确。
261 1
|
算法 前端开发
前端算法-最大三角形面积-鞋带公式&-海伦公式
前端算法-最大三角形面积-鞋带公式&-海伦公式
387 0
|
机器学习/深度学习 人工智能 开发框架
智能ai量化高频策略交易软件、现货合约跟单模式开发技术规则
该项目涵盖智能AI量化高频策略交易软件及现货合约跟单模式开发,融合人工智能、量化交易与软件工程。软件开发包括需求分析、技术选型、系统构建、测试部署及运维;跟单模式则涉及功能定义、策略开发、交易执行、终端设计与市场推广,确保系统高效稳定运行。