Web:通过throw 抛出异常信息后,在哪里获取这信息?

lanxe 2005-01-07 03:44:09
在ASPX页面有错误发生后,就
throw("对不起,系统出错了")
请这些信息可以在哪里获取?

能不能一抛出异常后就截取到,转到Error.aspx页并显示刚才抛出的错误信息?
...全文
566 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tonybaobao 2005-01-07
  • 打赏
  • 举报
回复
Global.asax.cs中:
protected void Application_Error(Object sender, EventArgs e)
{
//捕获错误
Exception ex = Server.GetLastError().GetBaseException();
//转向异常处理页面
Server.Transfer("ErrorPage.aspx");
}

ErrorPage.aspx.cs中:
private void Page_Load(object sender, System.EventArgs e)
{
//捕获异常
Exception ex = Server.GetLastError();
//打印异常信息
Response.Write("<font size=2>Sorry, an error was ocurred!</font><br>");
Response.Write("<font size=2>Message:"+ex.Message+"</font>");
}
SeanChen 2005-01-07
  • 打赏
  • 举报
回复
你可以参考duwamish中的错误处理的例子PageBase.cs:
在PageBase中重写OnError
protected override void OnError(EventArgs e)
{
Response.Write("<script language=javascript>window.alert('ddddd');</script>");
base.OnError(e);
}
然后其他的页都继承PageBase
lanxe 2005-01-07
  • 打赏
  • 举报
回复
try
{
...
}
catch(Exception ex)
{
Response.Redirect("xxx.aspx?var="+ex.Message);
}
--------------------------
这是最简单的方法。
如果一个页面里要从QueryString里判断多个数据的话,就要很多个Response.Redirect("xxx.aspx?var="+ex.Message);
这样维护起来就不好。

我想直接throw出错误信息,再截获并提示。
lanxe 2005-01-07
  • 打赏
  • 举报
回复
rustical(时光流逝) :
能不能贴个例子?谢谢
yellowhwb 2005-01-07
  • 打赏
  • 举报
回复
try
{
...
}
catch(Exception ex)
{
Response.Redirect("xxx.aspx?var="+ex.Message);
}
rustical 2005-01-07
  • 打赏
  • 举报
回复
Overrides Sub OnError 页面的 onerror 事件进行截取!
将 ApplicationLog.FormatException 信息放在 session 中,
转到Error.aspx页并显示session !

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧