起因
今天在菜鸟编程中复习cpp的时候,看到了异常处理。就是try catch throw 三兄弟。python中就是try except else finally raise
两者是很相似的。中间一个个代码如下面所示
异常处理
就是try尝试运行,错误就到catch,catch中进行错误捕捉。还有一个就是throw,这个就是运行的时候,直接抛出错误这个就像人为中断错误,毕竟catch捕捉的东西有限。一旦执行throw就会立刻停止程序。
Const
1 |
|
为什么会出现Const呢?首先,
const char* a
char* const b
const char* const c
const void * fun()
这四个都是见怪不怪的用法了。
但是我看到一个
const void *what() const throw()
重写throw的功能。如下代码所示
结果如下
MyException caught
C++ Exception
非常有意思,为什么函数还可以const呢 ?const char * what () const throw ()
我去网上和编译实测了一下,发现确实可以的。但是有限制
1.只能是结构体和类里面的成员方法(cpp中类和结构体都可以继承和实现函数的。)
2.只能调用同为const的函数
3.不能修改类里面的成员对象
4.其他函数可以正常调用const修饰了的函数
5.只能调用同为const的实例 如 const A a; 此时就能使用a
结语
大家感兴趣的话,可以去尝试用一下,我个人感觉,这个东西还是有意义,反正内部被修改可以作用一些,返回当前状态的接口上面如return systemTiem.hour;