捕获自定义异常C ++

我有一个异常类:

#ifndef OBJECTEXCEPTION_H_
#define OBJECTEXCEPTION_H_

class ObjectException: public std::logic_error
{
public:
    ObjectException (const std::string& raison)
            :std::logic_error(raison){};
};

class Object1Exception: public ObjectException
{
public:
    Object1Exception (const std::string& raison)
    : ObjectException(raison){};
};

#endif 

我有一个抛出此异常的方法:

void Object1::myMethod(int type) {
if (type == 0) {
    throw new Object1Exception(type);
}

...
}

现在,我使用这种方法:

try{
    obj1->myMethod(0);
}
catch(Object1Exception& error){

}

但是我有这个错误

terminate called after throwing an instance of 'tp::Object1Exception*'

我不明白为什么未捕获到异常。

巴西勒·斯塔林凯维奇

代码throw Object1Exception(type);不带new; 您将抛出一个指向异常指针,而不是异常本身。

BTW,如评论polkadotcadaver,该错误信息是很清楚的,它告诉你抛出一些指针类型的实例throwing an instance of 'tp::Object1Exception*'....

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C# 不会捕获“嵌套”自定义异常

来自分类Dev

捕获内置异常(而不是自定义)

来自分类Dev

使用cfscript捕获自定义异常

来自分类Dev

捕获异常并返回自定义消息

来自分类Dev

在js中捕获自定义异常

来自分类Dev

引发并捕获自定义异常

来自分类Dev

抛出并捕获自定义异常

来自分类Dev

如何捕获期货的自定义异常?

来自分类Dev

从std :: exception派生的C ++自定义异常未被捕获

来自分类Dev

Android Fabric-以自定义间隔发送捕获的异常

来自分类Dev

捕获异常并显示自定义错误页面

来自分类Dev

自定义错误页面的Sinatra捕获异常

来自分类Dev

从Java ExecutorService捕获并引发自定义异常

来自分类Dev

在 Apache Spark 中捕获自定义异常

来自分类Dev

Laravel - 在自定义处理程序中捕获异常

来自分类Dev

Java 中的自定义异常尝试抛出捕获

来自分类Dev

自定义异常消息C#

来自分类Dev

C#,自定义异常的用法

来自分类Dev

自定义UITableViewCell异常

来自分类Dev

自定义异常-Java

来自分类Dev

自定义光标异常?

来自分类Dev

自定义Zuul异常

来自分类Dev

自定义异常的问题

来自分类Dev

自定义异常处理

来自分类Dev

C#-使用NLog记录自定义异常

来自分类Dev

带有模板参数的自定义C ++异常

来自分类Dev

MessageBox中的C#自定义异常标题

来自分类Dev

自定义异常处理程序C#

来自分类Dev

C++ 自定义异常消息不显示