我有一个应用程序,要求本地用户定期同步回SQL服务器(基于事件,包括关闭/退出时)。
我的用户偶尔会遇到互联网/ VPN问题,这些问题会引发预期的" 3146"错误。
问题: 当抛出ODBC错误时,我的应用程序会忘记它(全局变量丢失等),并且应用程序变得完全无法使用。向我的用户抛出了许多后续的错误消息层,偶尔需要Ctl-Break来中断(或任务管理器)。
问题: 我在每个提供结构化错误消息的模块中都有一个err_handler。我能够捕获err_number" 3146"在err_handler模块中,我尝试了一个突然的" Application.Quit" (以避免后续的错误消息)。在应用程序完全终止之前,我仍会收到一些后续的错误消息。
是否有更好的方法来更优雅地处理" 3146"错误?
寻找一些好主意。
谢谢!
答案 0 :(得分:0)
如果您正在处理错误,那么应该没有问题。 你应该如何处理错误是不做Application.Quit
,你应该对错误做些什么。连接失败不是炸毁您的应用程序的理由。
相反,请考虑在本地缓存数据,以便在建立连接时可以再次执行同步。当您发现连接失败时,请停止尝试连接,中止同步过程,并告诉您的用户“嘿,我们现在无法同步。您可能遇到VPN问题。修复这些问题并尝试重新同步。”而且您的数据仍然存储在您的accdb中,这样如果他们第二天上班并且硬连线到网络中,他们就可以成功同步。