【发布时间】:2014-04-16 16:05:36
【问题描述】:
这里来自http://www.tutorialspoint.com/cplusplus/cpp_exceptions_handling.htm
#include <iostream>
#include <exception>
using namespace std;
struct MyException : public exception
{
const char * what () const throw ()
{
return "C++ Exception";
}
};
我理解const 在what 之后的意思是该函数没有修改任何
结构体的成员,但最后的throw() 是什么意思?
【问题讨论】:
-
切向:给定“C++ 异常”是函数本地的并且具有自动存储功能,如果内存不足,what() 会抛出
std::badalloc吗? -
@rjfalconer 为什么你认为它有自动存储?未命名的指针返回值可以,但是数组呢?
-
啊,是的。我忽略了返回类型。那么同样的问题,但对于任何使用自动存储的任意示例:这会禁止使用这样的异常说明符吗?