std::vector
範囲外の例外をスローする参照、または少なくとも例外がスローされた行番号 (Java のスタック トレースと同様)への参照にアクセスしたいと思います。以下にプログラム例を示します。
#include <iostream>
#include <vector>
std::vector<int> vec1;
std::vector<int> vec2;
vec1.push_back(1);
vec2.push_back(2);
try
{
std::cout << vec1.at(1) << std::endl;
std::cout << vec2.at(1) << std::endl;
}
catch(Exception e)
{
// e.lineNumber()? e.creator_object()?
std::cout << "The following vector is out of range: " << ? << std::endl;
// or...
std::cout << "There was an error on the following line: " << ? << std::endl;
}
この例が取るに足らないものであることはわかっていますが、探している機能を示してくれることを願っています。
編集: g++ からの実装 --version: g++ (GCC) 4.1.2 20071124 (Red Hat 4.1.2-42)