Я пытаюсь поймать исключение типа char * в main(), но программа вылетает со следующим сообщением: завершение вызова после вызова экземпляра 'char const *' код:Как перехватить char * исключения в C++
#include <iostream>
int main()
{
char myarray[10];
try
{
for (int n=0; n<=10; n++)
{
if (n>9)
throw "Out of range";
myarray[n]='a';
}
}
catch (char * str)
{
std::cout << "Exception: " << str << std::endl;
}
return 0;
}
Это на самом деле правильный ответ. Строковый литерал - 'const', поэтому его нужно поймать как таковую. Другие ответы (о построении и метании 'std :: exception' или производных типов) являются хорошим стилем, но отвечают на другой вопрос. – Peter