C# try-catch-else

后端 未结 14 1361
暗喜
暗喜 2020-12-30 19:44

One thing that has bugged me with exception handling coming from Python to C# is that in C# there doesn\'t appear to be any way of specifying an else clause. For example, in

14条回答
  •  伪装坚强ぢ
    2020-12-30 20:39

    More idiomatically, you would employ the using statement to separate the file-open operation from the work done on the data it contains (and include automatic clean-up on exit)

    try {
      using (reader = new StreamReader(path))
      {
        DoSomethingWith(reader);
      }
    } 
    catch(IOException ex)
    {
      // Log ex here
    }
    

    It is also best to avoid catching every possible exception -- like the ones telling you that the runtime is about to expire.

提交回复
热议问题