#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