C++学习15异常处理try catch
异常基本概念
可能这个文件别人打开了你开不了,可能这个文件不存在
这个文件的大小可能在变,这个文件在被写
可能这个文件大小很大,得不到那么大内存
可能这个文件在某个位置有问题了,读不出来了(硬盘或者存储位置某个地方坏了)
其实每一件事情都可能存在问题。
程序能不能处理程序中出现的危机是健壮的程序
这个程序可以实现找到错误
但是并不好
好的方法是使用exception例外,异常机制(在某个点出现了问题,米不知道怎么做。你需要停下来,你需要做另外的处理)
用一个类,表示发生了什么错误(指针越界的例子)
常见的是这样的
v[42]越界了,然后会就不执行了,会throw那个错误,然后发现这句话在哪个函数,然后在这个函数在哪个括号
最后发现这个try ,然后throw的这个vectorIndexError类型的指针同catch里的量。于是做catch里面的事情。catch之后继续执行下面的语句。
case 3的意思就是将这个异常继续throw出去,回到调用这个函数的地方。(异常的传播)
catch(…)表示可以捕捉任何类型的throw
总结,要沿着调用这个函数的顺序,找到一个能匹配的catch