为什么 c#的错误处理不能像 java那样在 被调函数 名字前写个 throws 统一将错误抛出到外层去处理,一劳多得。
而一定要在每个需要加错误处理的地方去写 try{}catch{} 如果一个 被调函数 中有多个地方需要加try catch  岂不是很麻烦?
请高手讲讲微软这么做的好处?

解决方案 »

  1.   

    为什么 c#的错误处理不能像 java那样在 被调函数 名字前写个 throws 统一将错误抛出到外层去处理。
    ============================
    那是因为,C#中不需要写throws声明仍然可以将错误统一抛到外层去处理。
    相对于JAVA而言,C#只是少了“checked exception”,即那种必要么必需try/catch,要么必需写throws声明的异常。
    换句话说,C#中所有的异常都相当于Java中从RuntimeException派生的异常(非托管异常除外)。
      

  2.   

    楼主可能还没搞明白C#的异常。
    C#的异常不一定必须在调用处处理的,理论上全部在Main中加一个try/catch就完全可以了。——当然,只是理论上,实际中这么用非常不好。