リンクされたリストが空のときに EmptyListException をスローしようとしていますが、スローする EmptyListException() のコメントを外すとプログラムが終了し続けます。これは私の EmptyListException ヘッダーです
#ifndef EMPTYLISTEXCEPTION_H
#define EMPTYLISTEXCEPTION_H
#include <stdexcept>
using std::out_of_range;
class EmptyListException : public out_of_range
{
public:
EmptyListException(): out_of_range("Empty List!\n") {}
};
#endif // EMPTYLISTEXCEPTION_H
-- Clist.h でコマンドをスローします
template <typename E>
E Clist<E>::Remove() throw()
{
if(isEmpty())
{
cout << "Empty List, no removal";
//throw EmptyListException();
return '.';
}
... code
}
-- メインでキャッチ
try{
cout << list->Remove() << endl;
} catch(EmptyListException &emptyList)
{
cout << "Caught :";
cout << emptyList.what() << endl;
}
エラー「このアプリケーションは、ランタイムに異常な方法で終了するように要求しました。詳細については、アプリケーションのサポート チームにお問い合わせください。