用于处理超出范围错误的异常类 - C++

Exception class to handle out-of-range errors - C++

本文关键字:异常 C++ 错误 处理 范围 用于      更新时间:2023-10-16

我创建了一个异常类来处理模板类 Vector 中所有成员函数中的超出范围的错误,这些函数将索引作为参数。我想知道如果索引超出范围,如何引发这种类型的异常?任何帮助将不胜感激。

下面是异常类:

class IndexOutOfRangeException
{
public:
    IndexOutOfRangeException(char* str, int i, int max, int min = 0)
        :message(str),idx(i), last(max), first(min){};
    friend ostream& operator<<(ostream&, const IndexOutOfRangeException&);
private:
    char* message;
    int idx;
    int last;
    int first;
};

First

为什么不直接使用std::out_of_range

throw std::out_of_range("Tried to access index 88 of the range [0, 10]");

我想知道如果索引超出范围,如何引发这种类型的异常?

throw IndexOutOfRangeException("info", 88, 10, 0);