异常处理是为了增加程序的安全性,像我们调用系统的一些函数时对于有些函数的调用我们会加上
try{ function(param) } catch(){}处理,这是为了增强程序的健壮性,因为对于我们所调用的方法,有可能我们传入的参数不合理,造成程序的crash,所以要加上对应的异常保护;
如果是自己写的函数自己调用就不需要这种结构,因为自己知道程序是否会有异常,所以在调用时加相应的异常捕获就可以了,如果是调用别人写的,不知道是否需呀加异常捕获,函数的作者加上throw(),我们就知道该程序时安全的,不需要加具体的异常捕获。
没有什么特别好处, 就像是注释一样. 表示该函数不抛出异常, 仅此而已.
假如你有一个函数, 但是不是你自己写的, 是你的同事或者其他什么人写的.
函数的作者在后面加个throw(), 就是在告诉你"这个函数不抛异常, catch什么的是不必要的"
virtual void AssertValid() const;
首先这个加const表示,函数内部所操作的成员变量时不可更改的,确保变量的值不变。
void GetTag() throw();
这东东是抛出异常,如果有的话,不是你说的不抛出一样。异常的接收就是catch一般在这个函数的外面一层。
以前学过,这种写法有点怪异,额,可能是我看的少,都不是很明白,学习中。