比如有下面一个console程序, 应该把try catch设计在程序更顶层的A呢,还是更靠近异常发生调用处的B呢?
或者是根据Exception的种类(致命故障或者一般异常)区别对待呢?
==== Program.cs ====
main()
{
IService service = new Service();
service.Foo(); // A
}
==== Service.cs ====
class Service:IService
{
private readonly IAnotherService _anotherService;
public void Foo()
{
var value = _anotherService.Bar(); // B
// ...
}
}
==== AnotherService.cs ====
class AnotherService:IAnotherService
{
public string Bar()
{
if (...)
throw new Exception();
}
}
--
FROM 60.180.25.*