主要是这几个动作:
1、先做个xml,用来存储异常信息。文件名:MsgsResource.xml
自定义异常处理的功能实现<?xml version="1.0" encoding="utf-8" ?> 
自定义异常处理的功能实现
<messages>
自定义异常处理的功能实现    
<message id="0">
自定义异常处理的功能实现        
<title>数据提供问题</title>
自定义异常处理的功能实现        
<body>没有找到数据的提供地方</body>
自定义异常处理的功能实现    
</message>
自定义异常处理的功能实现    
<message id="1">
自定义异常处理的功能实现        
<title>地址错误</title>
自定义异常处理的功能实现        
<body>页面地址错误或者地址参数错误</body>
自定义异常处理的功能实现    
</message>
自定义异常处理的功能实现
</messages>

2、再做一个用来存msgs的用来存title和body的构造体,类名为CustomExceptionType.cs
自定义异常处理的功能实现    public class ExceptionMsg
    }
然后再做个读xml的类,这个类要传个id的参数进去作为查找。类名:ExceptionMsgsManager.cs
自定义异常处理的功能实现        public ExceptionMsgsManager()
        }

3、做一个友好的界面,也就是做一个输出错误信息的页,pageload的事件里就request出地址参数,文件名:WebForm1.aspx
自定义异常处理的功能实现        private void Page_Load(object sender, System.EventArgs e)
        }

4、关键的东西开始了~要认真看哦,首先自定义一个异常的枚举类型,类型名:CustomExceptionType.cs
自定义异常处理的功能实现    public enum CustomExceptionType
    }


5、然后要写一个自定义的异常处理类,在这个类的重写方法全用自定义的异常类型,这个类继承了ApplicationException,再多态了一下。(这个我想是写注析的,但后来不知道怎样写好,只会让大家意会了)类名:CustomException.cs
自定义异常处理的功能实现    public class CustomException : ApplicationException
    }


6、在Global.asax的Application_Error中做抛出错误后的处理
自定义异常处理的功能实现            //先判断是否为自己定义的异常
自定义异常处理的功能实现
            if(Server.GetLastError().GetBaseException() is CustomException)
            }

7、最后的一步....测试
自定义异常处理的功能实现            try
                        //随便写点东西
                            SqlConnection conn=........;
                            conn.Open();
自定义异常处理的功能实现
                }
自定义异常处理的功能实现            catch
            }

总结:也没有什么好说的,关键是继承ApplicationException那里,在那里最主要明白异常触发的原理,不明白的话也无法解释,明白了也不用解释,就这样...呵呵

相关文章: