由于ASP.NET使用了CLR,因此我们可以使用任何CLR语言来建立web应用程序。CLR的特征之一就是结构化(即尝试或捕捉)的异常的处理(因此不会再有更多VB的On Error Resume Next了)。尽管这个新的结构化的错误处理模型很不错,但是我们还有无可避免地会写入有错误的代码。例如,我们还可以在ASP.NET应用程序中写入代码来连接数据库并从中读取数据。我们也可以将尝试或捕捉模块中的代码封装起来,这样如果不能连接到数据库的话,我们就可以适当地处理错误。
不过,如果在尝试或捕捉模块之外放生异常又会怎么处理呢?如果这一异常没有处理,那么ASP.NET就会抛出一个运行时间错误(详细地告诉我们那里发生了错误,应用程序在干什么)。对于ASP.NET页面,我们可以随意执行Page_Error事件来捕捉所有的未处理的页面错误。在网站建设中如果我们想要在应用程序级别上来捕捉所有未处理的ASP.NET错误,那么我们就可以使用Application_OnError事件来做到这一点。不管何时放生未处理异常,我们都可以把该事件用作“全能捕捉”,同时把异常记录在windows的事件日志中。
评论列表: