C# try-catch-else

后端 未结 14 1363
暗喜
暗喜 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:12

    Catch more specific exceptions.

    try {
       reader = new StreamReader(path);
       string line = reader.ReadLine();
       char character = line[30];
    }
    catch(FileNotFoundException e) {
       // thrown by StreamReader constructor
    }
    catch(DirectoryNotFoundException e) {
       // thrown by StreamReader constructor
    }
    catch(IOException e) {
       // some other fatal IO error occured
    }
    

    Further, in general, handle the most specific exception possible and avoid handling the base System.Exception.

提交回复
热议问题