ジェネリック リンク リスト クラスを作成しており、逆方向反復子クラスで * 演算子をオーバーロードしています。ここに私が持っているものがあります:
try
{
return this->item->data;
}
catch (...)
{
cout << "OUT OF RANGEEEEE" << endl;
}
item
リンク リスト クラスのノードである は、ポインターが rend() の位置を指しているため、nullptr である可能性があります。その場合、プログラムを引き続き実行できるように、その例外をどのように処理できますか? このコードで実行しようとしましたが、プログラムがクラッシュします。
また、代わりにこのようなことをしてもいいですか?
if (item == nullptr)
{
throw std::out_of_range("Error message here!");
}
else
{
return this->item->data;
}
編集:だから、2番目の実装の方が優れていると思いますか? それでも、2 番目の実装でプログラムを実行すると、プログラムを続行できません。どうすればより安全になり、プログラムが引き続き実行されるようになりますか?