Stránka 1 z 1

Jak používat std::exception

PříspěvekNapsal: 26 listopad 2012 01:49:57
od Wlezley
Viděli jste už v nějakém kódu sekci try/catch?
RAW CODE
try
{
// Kód kde může nastat fatální chyba
}
catch( /* hotnota která se zachytává při chybě */ )
{
// Když nastane fatální chyba, provede se tento kód (může se využít zachytávaná hodnota k určení chyby)
}

Exception je něco, co se zachytává pomocí catch().

STD má vlastní exception. Využívá se v kritických bodech, například při manipulaci s řetězci. Příklad:
RAW CODE
#include <iostream>
#include <string>

int main()
{
std::string strInput = "123456789abcdefgh";
try
{
std::string strTemp(input, input.size()*2, input.size()*2);
std::cout << strTemp;
}
catch(std::exception &exc)
{
std::cout << exc.what() << std::endl;
}
std::cout << "Program pokracuje." << std::endl;
return 0;
}

V příkladu dojde k chybě, protože string se bude pokoušet inicializovat strTemp s neplatnou pozicí i velikostí stringu strInput. Bez exception by došlo k selhání programu a nemohl by pokračovat dále.