Какая ошибка в моем коде, из-за которой игнорируются исключения?

#c #codelite

#c #codelite

Вопрос:

Я реализую перехват некоторых программных ошибок, и он не работает должным образом, поэтому я видел какую-либо ошибку в своем коде, и компилятор также не показывает никаких предупреждений и ошибок. Программы успешно строятся, но игнорируют исключения.

 #include <iostream>
#include <string>
using namespace std;

void wrongUsage()
{
   bool erroCode = true;
   bool errorMessge = true;
   bool stringError = true;

   if(erroCode)
   {
      throw 7;
   }else if (errorMessge)
   {
      throw "Something went wrong in Character message";
   }else if(stringError)
   {
      throw string ("Something else wrong happened in the string area");
   }
}

void programErrorExceptions()
{
   void wrongUsage();
}

int main()
{
   try {
      programErrorExceptions();
   }
   catch (int err)
   {
      cout << "Code Exception occurred: " << err << 'n';
   }
   catch (char const *err)
   {
      cout << "Msg Exception occurred: " << err << 'n';
   }
   catch (string amp;err)
   {
      cout << "Strmsg Exception occurred: " << err << 'n';
   }

   return 0;
}
  

Комментарии:

1. Что вы подразумеваете под «игнорированием исключений»? Что именно произошло?

2. @AsteroidsWithWings Консоль только что вернула 0; и завершает работу.

Ответ №1:

исправьте следующее

 void programErrorExceptions()
{
   void wrongUsage();
}
  

Для

 void programErrorExceptions()
{
   wrongUsage();
}
  

Комментарии:

1. @AsteroidsWithWings да, это устранило проблему: D