在这里要说一下,处理异常你可以使用exception,你也可以使用自定义的异常类,或者不使用类。但是,你最好使用exception类,其方法就是添加头文件。
总而言之一句话,exception是所有异常类的父类,所以你写个catch(exception & e)就能捕获所有异常,这可以省去不少事。当然,如果你能够确切地指导可能抛出的异常属于哪种类型,你还是catch那种类型的异常吧。
如果现有异常类不能满足你的要求,你可以继承某种异常类然后实现自己的异常类。
Bad_alloc类是针对new而设计的异常类。
以前的new分配失败会返回一个空值,为了兼容这种使用方法,C++推出了一种新的new的用法,如下图所示:
结果如下所示: