当抛出一个异常时,可以使用任意类型,(包括内置类型)但通常应当为抛出的异常创建特定的类
如果在一个函数内部抛出了异常,或者被这个函数所调用的其他函数抛出了异常,这个函数将会因为抛出异常而退去
如果不想因为一个throw而退出函数,可以在函数中试图解决实际产生设计问题得地方设置一个try
如果后面的catch捕捉成功(不仅仅是设置了catch)则不会退出此函数
只要有catch成功捕捉,系统就认为该异常已经处理了
throw导致一系列的事情发生
1它将创建程序所抛出的对象的一个拷贝,
2然后,实际上,包含throw表达式的对象返回了这个对象,即使该函数原先并未设计为返回这种对象类型
匹配一个异常并不要求异常与其处理器之间完全相关,一个对象或者是指定派生类对象的引用都会与其基类处理器匹配