gpt4 book ai didi

c# - 如何编写自定义 C# 属性来处理处理程序中的异常

转载 作者:太空狗 更新时间:2023-10-30 01:35:12 25 4
gpt4 key购买 nike

我创建了一个这样的自定义属性类

    [AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = false)]
public class AMemento : Attribute
{

public void method(){
try {

}
catch (Exception) {

}}
}

并且我计划在处理程序中使用此自定义属性来捕获发生的任何异常,如下所示

    [AMemento]
[Authorize]
public JsonResult GetWeatherData()
{
//// code here which throw an exception
}

我想知道如何完成自定义属性类以捕获在 GetWeatherData() 处理程序中抛出的异常。是否可以像在 python 中那样实现高阶函数?

最佳答案

在 MVC 框架中有 HandleErrorAttribute类(class)。您可以扩展和覆盖 OnException方法。一个很好的例子是 Elmah MVC 中的他们有 HandleErrorAttribute 的项目类。

This question还提供了 HandleErrorAttribute 的一些示例,同样是在 ELMAH 的上下​​文中,但应该相对明显的是,在覆盖 OnException 时,您可以为 MVC 操作提供自定义异常逻辑。

关于c# - 如何编写自定义 C# 属性来处理处理程序中的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26839899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com