尝试Catch块显示错误的错误消息

时间:2016-07-04 11:28:15

标签: try-catch

面对Dev C ++中的问题,其中catch块未显示所需的错误消息

#include<iostream>
using namespace std;
void mightGoWrong()
{
     bool error1;
     bool error2;
     if(error1)
     {
     throw "Issue encountered!!";
     }     
}
int main(void)
{
    try
    {
    mightGoWrong();
    }
    catch(int e)
    {
     cout << "Error Code is:  "<<e<<endl;
     }
     cout<<"Still running"<<endl;

}

消息是:仍在运行。需要知道我做错了什么

1 个答案:

答案 0 :(得分:0)

您需要在代码开始工作之前初始化布尔变量。

最佳做法是始终为变量赋予一些默认值。您的error1值没有赋值给它,因此抛出错误永远不会完成它的工作。

此外,您正在抛出一个字符串,因此您需要捕获一个不是int的字符串。

void mightGoWrong()
{
     bool error1=true;
     bool error2=true;
     if(error1)
     {
        throw "Issue encountered!!";
     }     
 }
 int main(void)
 {
   try
   {
     mightGoWrong();
   }
    catch(string e)
   {
     cout << "Error Code is:  "<<e<<endl;
   }
    cout<<"Still running"<<endl;

 }