问题描述
||
我想用一个可能会引发异常的函数构建一个类,当我使用它时要捕获该异常。
我从标准异常类继承my_exception。
我实现了what()函数,以便它返回存储在私有字符串变量中的字符串
我认为最好将异常定义为嵌套类,这是使用io_base :: failure在iostream库中完成的方式。
我不太确定的是,我应该在哪里以及如何定义my_excpetion对象。我希望可以看到iostream函数的内部代码,并了解它们是如何做到的。
我考虑过几种选择:
对于每种异常原因,我都可以使用构造函数来定义my_exception的静态实例,该构造函数获取字符串并将其保存到我的私有字符串指针中。
对于每种异常原因,我都可以定义另一个继承自my_exception的类,并将其实现为返回常量字符串(原因)的函数。
我可以保存每个异常子类的实例,或者抛出类型。
顺便说一句,我们通常什么时候抛出类型而不是实例?
我想这是错误的:每次我想引发异常时,都要使用构造函数创建一个新的my_exception来获取字符串。这是在Java中完成的,但是据我所知,在C ++中这将是有问题的,因为应该在某个地方删除该异常。对?
我认为第一个是正确的,对吗?
还有更多标准选项吗?
非常感谢你!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)