我刚刚看到一个关于try-catch的问题,人们(包括Jon Skeet)说空的拦截块是一个非常糟糕的主意?为什么这个?没有空的捕获不是错误的设计决定的情况吗?
我的意思是,例如,有时你想从某个地方(网络服务,数据库)获得一些额外的信息,你真的不在乎你是否会收到这些信息.所以你试图得到它,如果有什么事情发生,那没关系,我只会添加一个"catch(Exception ignored){}",这就是全部
我听说你永远不应该抛出一个字符串,因为缺少信息,你会发现你不希望捕获的异常.抛出异常有什么好的做法?你继承了一个基本的异常类吗?你有很多例外或很少吗?你做MyExceptionClass&或const MyExceptionClass&?此外,我知道永远不应该在析构函数中抛出异常
我将补充说,我理解设计合同以及何时抛出异常.我问我应该如何抛出异常.