重写Exception类出现的问题
以前写程序时,如果出现错误,一般就是直接抛出一个异常给用户(Delphi),然后Application会捕捉到这个异常,然后把Exception E.Message Show 出来,相对的,我在C# 做的时候,也是如此,在Global.asax中写Application_Error代码:
void Application_Error()
{
Exception E = Server.GetLastError();
Server.ClearError();
Response.Write("程序出错,原因:" + E.Message + "ToString: " + E.ToString());
}
//这是自已写的类,Override原来的Message, ToString()
public class MyException: Exception
{
private string FMessage = string.Empty;
public MyException(string Message)
{
FMessage = Message;
}
public override string Message
{
get { return FMessage; }
}
public override string ToString()
{
String Result = FMessage;
if (Result == String.Empty)
Result = "程序出错";
return Result;
}
}
test:
弄个Button,写Click事件:
throw new MyException("Hello world");
好了,我很奇怪为什么,返回却是一大堆SYstem.Web.UI之类的东东(是不是Debug版问题)