异常展示
系统异常模块除了记录功能,还有一个很重要的功能:异常展示,即系统发生异常后,展示给用户怎样的页面。展示给用户友好页面具有以下必要性:
展示给用户友好页面,可以降低用户焦虑感,提高用户体验。
将系统异常隐藏,避免代码、路径等技术信息外泄,提高系统安全性。
将系统运行时异常统一管理,有助于提高软件整体质量,便于整体把控。
友好页面的展示类型也是根据配置节点信息完成的,管理员只需更改配置节点中的枚举值,即可改变用户体验页面,用户体验页面共有10中方式,分别是抛出原始异常信息、抛出定制异常信息、抛出简单信息(不包含异常)以及隐藏异常信息等方式。
在系统开发阶段,可以使用抛出原始异常信息的展现方式,系统部署后,可以使用抛出简单信息(不包含异常)或隐藏异常信息的方式,选择这些展示方式的同时,还可以选择是否记录到日志介质。
各种异常展示的配置信息大全,假如有一个页面代码如下:
代码
try
{
string i = "i";
Response.Write(i);
}
catch (Exception ex)
{
ILException ile = new ILException();
ile.WriteLog(ex);
}
正常访问页面显示字符串“i”,假如代码修改如下,便会发生错误:
代码
try
{
string i = "i";
Response.Write(Convert.ToInt32(i));
}
catch (Exception ex)
{
ILException ile = new ILException();
ile.WriteLog(ex);
}
根据以下不同配置信息,页面有不同的显示,这个显示方式根据web.config给出的键值决定:
<add key="IsLine.ExceptionProcess.Configuration.ProcessStyle" value="ThrowOriginalWithLog"/>
其中,value可以为以下枚举值:
ThrowOriginalWithLog
这种方式的含义是抛出原始错误,终止应用程序,并将这种错误记录到异常日志中。
图1 原始错误