C++ 异常处理错误输出
C++ Exceptional Handling Wrong Output
我在 Dev C++ 中编写了以下C++代码:
// Program for exception handling
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int a = 10;
int b = 0;
int c;
// try block activates exception handling
try
{
if (b == 0)
{
// throw custom exception
throw "Division by zero not possible!";
c = a / b;
}
}
catch (char* ex)
{
cout << ex;
}
getch();
return 0;
}
输出应为"不可能除以零"。但是输出是"在抛出'char const*'实例后终止调用的。
如何纠正此代码?
该消息说您已经抛出了 charconst* 的实例,但您正在捕获char* 的实例
尝试更改
catch (char* ex)
自
catch (char const* ex)
看看这是否有帮助...
你扔了一个char const*
,但只接住了一个char*
.将 catch 语句中的类型更改为char const*
,一切都很好。
相关文章:
- 输出错误,问题是找到总和5000位数字cpp
- 使用复制构造函数的程序输出错误
- 异或字符串加密/解密输出错误
- 在linux上使用g++输出错误,在windows上更正
- 使用递归函数 (c++) 将长字符串转换为整数时输出错误
- ECDSA 密钥对生成输出错误
- fscanf() 输出错误的值
- 输入 1024 后十进制到二进制转换的输出错误?
- 输出错误命令的条件语句
- cuSparse (cusparseDcsrgemm) 中的矩阵乘法输出错误的结果
- 为什么 du -sh 输出错误大小的内存映射文件
- VS2017 的输出错误,但 mingw 有效
- 如何使FFMPEG C 代码不输出错误消息
- 乘以时输出错误.这是我编译器中的错误吗?C
- 输出错误:两个不同编译器上的不同输出:Prime Cryptarithm USACO
- 为什么输出错误崩溃
- C++输入/输出错误
- 尝试用 c++ 制作一个简单的加法器.编译成功,但输出错误
- 当我使用此合并排序代码运行时,输出错误
- 递归功能输出错误的值