在处理目录/文件时,通常应该使用“ if”还是“ try”

尤金·S

通常,当我处理文件和目录时,我想检查一个目录或文件的路径是否存在,我只是使用类似这样的东西:

if (Directory.Exists(path))
{
     //Something...
}

但是,如果我正确理解了这个答案,建议允许仍然抛出异常,这意味着不要使用ifuse try.. catch

在处理文件和目录时,这是一种通用方法if(Directory.Exists...吗?还是有时最好使用这种方法?

注意:在看到第一个响应之后,只想澄清某些目录/路径可能不存在的情况是正常现象。

彼得·杜尼奥

您几乎总是必须在某个地方捕获异常,尤其是对于I / O错误,以免程序在发生异常时被杀死。

在许多情况下,首先检查有效输入(例如很有意义Directory.Exists()这使您能够以一种用户友好的方式高效地报告并响应明显的用户错误情况。

但是,您不能保证在执行该调用与尝试以某种方式访问​​该目录之间不会删除该目录。否则,如果目录位于远程共享上,则网络不会失败。否则您将不会遇到其他类型的I / O错误。

有一些例外情况值得一提。OutOfMemoryException例如,发生了意外(与某些数据结构变得过大相对)或其他类型的内部.NET故障。从这些类型的错误中恢复的可能性很小。但是对于其他任何事情,您在某个时候都应该捕获可能发生的异常。有时,这仅表示顶层catch (Exception e),您可以在其中以某种方式记录异常,然后干净地退出程序。

(我会注意到,未捕获的异常会导致应用程序终止,通常会记录在系统事件日志中。因此,只要用户愿意检查日志并从那里检索异常信息,那么就不必捕获所有例外…只是那些您知道该怎么做的例外。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

try / catch应该在using块的内部还是外部?

来自分类Dev

向数据库写入唯一字段时,应该使用“ try-catch”还是“ if-else”?

来自分类Dev

Try-Catch 与 If-Else | 我应该争取在这个中使用 If-Else 还是只使用 Try-Catch?

来自分类Dev

我需要使用try catch还是检查ThreadPool.QueueUserWorkItem的返回值?

来自分类Dev

WinSCP自动文件传输-批处理和脚本文件应该位于虚拟目录还是本地目录中?

来自分类Dev

我应该使用[innerHTML]还是通常的方式(角度2)

来自分类Dev

使用外部.kv文件还是内部处理?

来自分类Dev

从方法返回,在“ try”块中还是在“ catch”块之后?

来自分类Dev

使用exim4时,.Archive应该是文件还是文件夹?

来自分类Dev

哪一个更安全?将“ for”放在“ Try”中,还是将“ Try”放在“ for”中?

来自分类Dev

指向目录的符号链接是文件还是目录?

来自分类Dev

使用Docker进行开发时,应该使用ADD还是VOLUME?

来自分类Dev

加载Typescript定义文件时,我应该使用ES6导入还是引用路径?

来自分类Dev

请求敏感数据时应该使用GET还是POST?

来自分类Dev

定义模型时,应该使用Sequelize还是DataType?

来自分类Dev

我应该让apk签名还是使用调试未签名的文件?

来自分类Dev

使用if条件还是HashMap?

来自分类Dev

使用ngContainer还是ngTemplate?

来自分类Dev

使用if条件还是HashMap?

来自分类Dev

使用@RequestParam还是@PathVariable?

来自分类Dev

使用SQL还是NoSQL?

来自分类Dev

使用更好!还是历史?

来自分类Dev

使用NSWindow还是NSViewController?

来自分类Dev

使用UserControl还是WebForm?

来自分类Dev

使用 Flexboxgrid 还是 Bootstrap?

来自分类Dev

成语scala处理文件A还是文件B?

来自分类Dev

如何检查给定路径是文件还是目录?

来自分类Dev

如何检查远程路径是目录还是文件?

来自分类Dev

使用os.listdir(),查看对象是文件还是目录

Related 相关文章

  1. 1

    try / catch应该在using块的内部还是外部?

  2. 2

    向数据库写入唯一字段时,应该使用“ try-catch”还是“ if-else”?

  3. 3

    Try-Catch 与 If-Else | 我应该争取在这个中使用 If-Else 还是只使用 Try-Catch?

  4. 4

    我需要使用try catch还是检查ThreadPool.QueueUserWorkItem的返回值?

  5. 5

    WinSCP自动文件传输-批处理和脚本文件应该位于虚拟目录还是本地目录中?

  6. 6

    我应该使用[innerHTML]还是通常的方式(角度2)

  7. 7

    使用外部.kv文件还是内部处理?

  8. 8

    从方法返回,在“ try”块中还是在“ catch”块之后?

  9. 9

    使用exim4时,.Archive应该是文件还是文件夹?

  10. 10

    哪一个更安全?将“ for”放在“ Try”中,还是将“ Try”放在“ for”中?

  11. 11

    指向目录的符号链接是文件还是目录?

  12. 12

    使用Docker进行开发时,应该使用ADD还是VOLUME?

  13. 13

    加载Typescript定义文件时,我应该使用ES6导入还是引用路径?

  14. 14

    请求敏感数据时应该使用GET还是POST?

  15. 15

    定义模型时,应该使用Sequelize还是DataType?

  16. 16

    我应该让apk签名还是使用调试未签名的文件?

  17. 17

    使用if条件还是HashMap?

  18. 18

    使用ngContainer还是ngTemplate?

  19. 19

    使用if条件还是HashMap?

  20. 20

    使用@RequestParam还是@PathVariable?

  21. 21

    使用SQL还是NoSQL?

  22. 22

    使用更好!还是历史?

  23. 23

    使用NSWindow还是NSViewController?

  24. 24

    使用UserControl还是WebForm?

  25. 25

    使用 Flexboxgrid 还是 Bootstrap?

  26. 26

    成语scala处理文件A还是文件B?

  27. 27

    如何检查给定路径是文件还是目录?

  28. 28

    如何检查远程路径是目录还是文件?

  29. 29

    使用os.listdir(),查看对象是文件还是目录

热门标签

归档