プログラマーが関数tryブロックをいつ使用するのか疑問に思います。いつ役に立ちますか?
void f(int i)
try
{
if ( i < 0 )
throw "less than zero";
std::cout << "greater than zero" << std::endl;
}
catch(const char* e)
{
std::cout << e << std::endl;
}
int main() {
f(1);
f(-1);
return 0;
}
出力:( ideoneで)
greater than zero
less than zero
編集:関数定義の構文が間違っていると思う人もいるかもしれませんが(構文が見慣れないため)、間違いではないと言わざるを得ません。それはfunction-try-blockと呼ばれます。C++標準の§8.4/1[dcl.fct.def]を参照してください。