详细文档看:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/emab-rm.asp
说明几点:
文件夹:Microsoft.ApplicationBlocks.ExceptionManagement
为异常主类文件.
Microsoft.ApplicationBlocks.ExceptionManagement.Interfaces
为异常接口类文件,
安装
1.使用installutil安装DLL文件,
安装方法,
Visual Studio .NET 2003 命令提示+installutil Microsoft.ApplicationBlocks.ExceptionManagement.dll所有路径
如:installutil E:\exception\Microsoft.ApplicationBlocks.ExceptionManagement\bin\Debug\Microsoft.ApplicationBlocks.ExceptionManagement.dll
程序使用:
添加对Microsoft.ApplicationBlocks.ExceptionManagement.dll引用,
在配制文件添加配制
<configSections>
<section name="exceptionManagement" type="Microsoft.ApplicationBlocks.ExceptionManagement.ExceptionManagerSectionHandler,Microsoft.ApplicationBlocks.ExceptionManagement" />
</configSections>
<exceptionManagement mode="on">
<!--使用自定义数据记录使用下面配制-->
<!--<publisher mode="on"
assembly="Microsoft.ApplicationBlocks.ExceptionManagement"
type="Edobnet.FrameWork.ExceptionHandler.ExceptionDBPublisher"
connString="USER ID=sa;PASSWORD=232323;INITIAL CATALOG=Errors;DATA SOURCE=localhost" />-->
<!--使用自定义数据记录使用下面配制-->
<!--<publisher mode="on"
assembly="Microsoft.ApplicationBlocks.ExceptionManagement"
type="Edobnet.FrameWork.ExceptionHandler.ExceptionLogPublisher"
fileName="philips.log"
filePath="C:"
stackTrace = "true"
daily="true" />
-->
</exceptionManagement>
添加USING
using Microsoft.ApplicationBlocks.ExceptionManagement;
测试代码:
try
}
如果不使用自己定议异常处理,只会在WINDOWS事件里记录,
自定义异常处理:

using System;
using System.IO;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
using System.Collections.Specialized;
using Microsoft.ApplicationBlocks.ExceptionManagement;

namespace Edobnet.FrameWork.ExceptionHandler
数据库异常的数据表如下:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ErrorLog]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[ErrorLog]
GO

CREATE TABLE [dbo].[ErrorLog] (
[ID] [numeric](18, 0) IDENTITY (1, 1) NOT NULL ,
[Info] [varchar] (500) NOT NULL ,
[Message] [varchar] (500) NULL ,
[Source] [varchar] (255) NULL ,
[StackTrace] [varchar] (1000) NULL ,
[EntryDateTime] [datetime] NOT NULL
) ON [PRIMARY]
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[spLogError]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[spLogError]
GO

SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

GO
设定相应的异常通过CONFIG文件来设置,我在接面有相应的例子.