红鱼儿

kbmMW拦截服务器/数据库引发异常的最佳位置(服务器端事件)是什么?
今天看kbmMW 新闻组,有人问了下面这个问题,作者也给了详细的回复,对于这种情况,很常用,所以整理出来,与大家分享。
 
问题:
在发送给客户端显示之前,拦截服务器/数据库引发异常的最佳位置(服务器端事件)是什么?
 
我正在使用kbmMW 5.0.5.10并且用Firebird做数据库,因为Firebird的异常具有奇怪的格式,所以在将这些异常发送到客户端程序之前,我想拦截它们,并向客户端程序发送更有意义的错误信息息。 那么最好的地方(服务器端事件)是什么的?
 
回答:
利用TkbmMWServer OnServeResponse事件,可以捕获所有Service响应给客户端的信息。

在这个事件中,检查OutStream.IsError,StatusCode和StatusText属性。 如果发生错误,状态代码为负值。 您可以将错误代码与kbmMWException.pas文件中的某个错误代码进行比较,也可以通过属性设置新的代码或新的文本信息。通常StatusText是OK,否则的话为异常的错误信息。

posted on 2021-01-30 16:22  红鱼儿  阅读(202)  评论(0编辑  收藏  举报