クラスを使った例外処理
このような関数を書いた場合、どのようにmain関数でtry、catchすればいいのでしょうか?よろしくお願いします。言語はc++です。クラスを補足しました。説明不足ですみません。
template <class T>class DynArray {
T* pData;
int size; public:
DynArray() {
pData = NULL;
size = 0;
}
DynArray(const DynArray& theOther) {
size = 0;
pData = NULL;
this = theOther;
}
~DynArray() {
if (pData != NULL)
delete[] pData;
}
void InsertAt(const T& newElement, int position);
void RemoveAt(int position);
};
template<class T>void DynArray<T>::RemoveAt(int position) {
if (position > size)
throw new length_error("Position out of the size of DynArray");
if (size == 1) {
delete[] pData;
size = 0;
return;
}
size--;
T* pTemp = new T[size];
{
int i, j;
for (i = 0, j = 0; i < size; i++, j++) {
if (j == position) {
j--; continue;
}
pTemp[i] = pData[j];
}
}
delete[] pData;
pData = pTemp;
}