Z
zlshun
Unregistered / Unconfirmed
GUEST, unregistred user!
最近我在编写一个关于数据交换的平台,采用midas控件进行客户端和服务端的数据交换,
由于网络的原因经常导致掉线,因而造成数据传输的错误甚至系统资源严重占用和死机。
现在我想在网络断掉时通过WSAGetLastError捕获出错异常并进行异常处理。于是我在公司
的局域网中进行模拟(服务端和客户端都启动Borland公司的scktsrvr),当进行数据传送
时,将网络设置为禁用状态(在‘网上邻居’中‘我的连接’的状态改为禁用),此时系统
弹出异常‘windows socket error:向一个无法连接的网络尝试了一个套接字操作(10054)
on API 'recv'’,这里10054为SOCKET出错的错误码,但是当我在主窗体中的FormCreate
事件中编码:Application.OnException:=MyownException(sender:Tobject;E:Exception),
想在过程MyownException中自己进行异常,以替代系统的默认异常处理,在过程
MyownException(sender:Tobject;E:Exception)中如此编码:if E is EsocketError then
ErrorCode:=WSAGetLastError.同样地进行刚才进行的处理,但是ErrorCode却为0,不是刚
才的10054,我不知什么?对于这种异常如何处理以避免数据传输等错误?愿诸位大虾速速
告诉我
由于网络的原因经常导致掉线,因而造成数据传输的错误甚至系统资源严重占用和死机。
现在我想在网络断掉时通过WSAGetLastError捕获出错异常并进行异常处理。于是我在公司
的局域网中进行模拟(服务端和客户端都启动Borland公司的scktsrvr),当进行数据传送
时,将网络设置为禁用状态(在‘网上邻居’中‘我的连接’的状态改为禁用),此时系统
弹出异常‘windows socket error:向一个无法连接的网络尝试了一个套接字操作(10054)
on API 'recv'’,这里10054为SOCKET出错的错误码,但是当我在主窗体中的FormCreate
事件中编码:Application.OnException:=MyownException(sender:Tobject;E:Exception),
想在过程MyownException中自己进行异常,以替代系统的默认异常处理,在过程
MyownException(sender:Tobject;E:Exception)中如此编码:if E is EsocketError then
ErrorCode:=WSAGetLastError.同样地进行刚才进行的处理,但是ErrorCode却为0,不是刚
才的10054,我不知什么?对于这种异常如何处理以避免数据传输等错误?愿诸位大虾速速
告诉我