-2

throwtry と catch を使用しない場合はどうなりますか? お気に入り:

 if (IsEmpty()) throw "Stack is empty, Cannot delete";

コンソールに出力されますか?

ただしthrow、引数として int または char が含まれている場合は、catch にスローされます。この場合はどうなりますか?

4

2 に答える 2

2

C++ ランタイムには次のようなものがあります (これは正確にどのように見えるかではありませんが、非常に特別な作業をしている場合を除き、このように動作していると考えることができます):

void BeforeMain()
{
     try
     {
        int res = main();
        exit(res);
     } 
     catch(...)
     {
         cout << "Unhandled exception. Terminating..." << endl;
         terminate();
     }
}   
于 2013-08-10T19:18:00.393 に答える