哪个最好:代码片段1或代码片段2?又为什么呢?

/* Code Snippet 1
 *
 * Write try-catch in function definition
 */
 void Main(string[] args)
 {
     AddMe();
 }

 void AddMe()
 {
     try
     {
         // Do operations...
     }
     catch(Exception e)
     {
     }
 }

/* Code Snippet 2
 *
 * Write try-catch where we call the function.
 */
 void Main(string[] args)
 {
     try
     {
         AddMe();
     }
     catch (Exception e)
     {
     }
 }

 void AddMe()
 {
     // Do operations...
 }

最佳答案

真正要问的问题是:“ AddMe与世界其他地区的合同是什么?”如果AddMe表示接口的全部功能,并且正确处理了以适当方式遇到的任何异常,那么可以确定-让它捕获它。如果AddMe不知道或不知道如何处理异常,则应将处理抛出并推迟到调用代码。

关于c# - try catch 的用法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6426649/

10-12 00:30