我目前正在项目中实现一些自定义异常,并且无法决定输入我的异常或为每个异常派生一个新类。对每个人的潜在利弊感兴趣,如果一个人更喜欢?
答案 0 :(得分:3)
推导自己的类的优点很简单:你可以在catch
处理程序中发送它。
如果你决定不实现自己的类,我仍然怀疑你需要这个typedef:你从中抽象出来的是什么?您也可以使用普通std::runtime_error
。
另外,您可能对David Abrahams'es有关异常处理和实现自己的异常类的文章感兴趣。
答案 1 :(得分:2)
导出一个新类 - 然后你可以在它们之间进行区分。如果你输入type,那么异常处理程序无法知道throw中使用了哪个typedef。
答案 2 :(得分:0)
我对你的问题有点难以理解,但是如果你正在制作自己的自定义异常,我想我会使用派生类,以防你以后想要改变行为。