11.1.3  类invalid_argument

11.1.3invalid_ argument

类invalid_argument也是类logic_error的派生类。其声明形式为:

978-7-111-51399-5-Chapter11-10.jpg

类invalid_argument的作用是定义异常对象的一种类型。在程序执行过程中,这种异常对象被抛出,以用于汇报一个无效参数错误。其构造函数为:

978-7-111-51399-5-Chapter11-11.jpg

该构造函数的作用是构造一个类invalid_argument的对象。构造函数的参数what_arg的内容是该对象成员函数what()的返回值。

例11-3

978-7-111-51399-5-Chapter11-12.jpg

978-7-111-51399-5-Chapter11-13.jpg

例11-3的执行结果为:

978-7-111-51399-5-Chapter11-14.jpg

上述例题之所以出现异常,主要是因为bitset结构通常使用long int作为bit array,一般不会超越16位。而在程序中定义bitset类对象时超过了16位。访问位段时,一旦超越了这个范围,程序就会出错。第3章讲述位段时所给例题的位段长均为16位。这是读者需要注意的一个细节。