我不确定这是否是发布的地方,但是这里有。
我有一个应用程序(使用VS 2012的Windows窗体),它通过一系列表单获取客户信息,并将信息存储在SQL Server中。该应用程序将部署在本地网络上的计算机上(某些远程但仍位于同一域中)。我在用户输入的每一步都有验证。我不确定这是否天真地想到这一点,但我觉得唯一的例外是我在与SQL Server的连接进行全面测试后必须担心(但我很想知道其他事情可能出错的地方)。我看到它的方式,我的应用程序可能会在连接到MSSQL时抛出异常(我已经涵盖了所有sql唯一的密钥错误,不会有任何人乱砍列,将拥有必要的权限,并要求/限制用户输入到什么我的列需要/允许),但我不知道如何处理它 - 除了将代码放在try / catch中以便用户再次尝试 - 因为如果连接失败,跳过下一个没有意义代码行(或者这也是不合理的)。所以我的问题是,在这种情况下进行异常处理的最佳方式(可能超过1种)是什么?如果我必须在try / catch中包装所有连接,是否有一种更好的方法来记录这些,因为应用程序将在本地部署(我关心的是在服务器关闭时将它们保存到联网服务器)暂时)。在此先感谢!!
答案 0 :(得分:0)
这已经有一段时间没有得到答复,所以我只会更新我所做的事情。
由于我预期的主要错误是失去了与SQL服务器的连接,我在我的应用程序中嵌入了一个XML文档,并在将信息发送到SQL服务器之后将所有内容存储在那里。当客户完成输入所有信息后,如果服务器仍在线,则清除XML数据。如果没有,XML数据将保留并在下次运行时再次检查。恢复连接后,XML数据将上载到SQL Server并进行清除。这样,连接中的丢失就不应该是显而易见的。
我意识到这并没有真正回答这个问题,但这是我现在能想到的最好的结果(直到我了解更多:))。