gpt4 book ai didi

c# - 在处理 SqlConnection、SqlDataReader、SqlCommand 时要捕获哪些异常?

转载 作者:太空狗 更新时间:2023-10-29 22:53:56 26 4
gpt4 key购买 nike

我正在使用 SqlConnectionSqlDataReaderSqlCommandSqlParameters 与我的数据库进行通信。我正在寻找有关捕获最相关的 Exceptions 而不是抛出新的 Exception() 的建议,这是一个太宽泛的类别。

感谢所有帮助!

最佳答案

最相关可能等同于可能发生的最常见的环境条件。编码错误将得到修复,但您无法控制环境问题。

此外,除了类文档之外,您还可以简单地尝试这些条件并确保您正确地处理了这些条件。多年前,一位开发人员问我,如果连接丢失,某些技术会抛出什么异常 - 所以我拔掉他的网线,然后我们运行他的代码:)

一些常见的是:

  1. 拔掉你的网线
  2. 禁用您的网络适配器
  3. 停止 SQL Server
  4. 创建一个需要很长时间的存储过程
  5. 让数据库/tempdb 变满
  6. 确保您没有访问 sql server 的权限
  7. 创建一个会死锁的存储过程

在其中一些情况下(网络、超时、死锁受害者),您可能希望通过增加等待时间来重试。对于像 db full 这样的其他人,您最好的期望是为管理员提供良好的指导甚至日志详细信息。

通过尝试条件,您可以确定抛出的异常是什么,并且可以验证您是否正确处理了条件。

关于c# - 在处理 SqlConnection、SqlDataReader、SqlCommand 时要捕获哪些异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8368096/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com