gpt4 book ai didi

c++ - 捕获预定义的 int 异常

转载 作者:太空狗 更新时间:2023-10-29 23:41:30 25 4
gpt4 key购买 nike

我已经定义了一个简单的 int 错误代码:

#define my_error 20

我在代码中的某处抛出了这个错误:

throw my_error;

现在我想尝试捕捉这个抛出的异常:

try
{
...
...
}
catch (my_error)
{
cout << "Error: my error";
}

不幸的是,编译器不同意这一点:

  • 语法错误:“常量”
  • 捕获处理程序必须指定一种类型
  • 从“34”行开始的“try” block 没有捕获处理程序

有办法吗?

最佳答案

20 不是类型,因此您无法捕获它。您可以做的是过滤 catch block 中的值:

catch (int exception)
{
if ( exception == 20 )
cout << "Error: my error";
}

更好的方法是定义您自己的异常:

class MyException : public std::exception
{
}

//...

try
{
throw MyException();
}
catch(MyException& ex)
{
}

关于c++ - 捕获预定义的 int 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10615135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com