无论如何,当异常被冒泡时,我为什么要写throw?

eom*_*off 4 c# exception-handling

为什么我应该在catch块中写入throw关键字以在异常上升时冒出异常?

drh*_*ris 6

如果你想做一些特殊的日志记录或错误处理逻辑,主要是你会这样做.很多时候,try{} finally{}如果你需要泡泡的例外,可以简单地使用,最后是处理所使用的任何资源.

它也可以用于根据调试进行分支(因此您的用户看不到难看的堆栈跟踪):

   catch(Exception e) 
   { 
#if DEBUG
      throw;
#else
      Log(e);
#endif
   }
Run Code Online (Sandbox Code Playgroud)