c# - 有一个单一的,可能是常见的,通用的异常是不是糟糕的编程风格?

标签 c# coding-style

所以在我的程序中,我有部分使用这样的 try catch block

try
{
  DirectoryInfo dirInfo = new DirectoryInfo(someString); 
 //I don't know if that directory exists
 //I don't know if that string is valid path string... it could be anything

 //Some operations here
}
catch(Exception iDontCareWhyItFailed)
{
  //Didn't work? great... we will say: somethings wrong, try again/next one
}

当然我可能会检查字符串是否是有效路径(正则表达式),然后我会检查目录是否存在,然后我可以捕获各种异常以查看我的例程失败的原因并提供更多信息......但是在我的程序中,这并不是真的必要。现在我真的需要知道这是否可以接受,以及专业人士会怎么说/考虑。非常感谢关注。

最佳答案

  • 编写“主线”代码来处理预期的情况。
  • 编写异常处理代码来...等待...处理异常情况。这就是为什么它被称为“异常处理代码”。 :-)

如果主线,预期,日常情况是路径不存在,则编写主线代码来检查路径是否存在。如果意外的、奇怪的、异常的情况是文件存在但已被另一个用户锁定,请编写一个异常处理程序来处理该异常。

关于c# - 有一个单一的,可能是常见的,通用的异常是不是糟糕的编程风格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2576351/

相关文章:

c# - 返回查询结果的异步流

c# - 使用 xmlns 属性( namespace )查询 XDocument

c# - Entity Framework 包含没有关系

javascript - JavaScript 的 eval() 什么时候不是邪恶的?

android - 按下时对按钮应用不同的样式

c# - 如何在 C# 中按降序版本列表排序?

c# - 如何在 C# 中对用户输入进行分类

coding-style - 摆脱匈牙利符号的最佳方法?

typescript - 什么时候使用分号合适?

refactoring - 您能容忍多少重复代码?