目录
关键字:throw
抛异常标准书写格式
抛异常如何执行?
当212行的异常被抛出,程序会重新返回函数func中,在函数中去寻找catch 语句的参数类型与抛出异常类型匹配,类型匹配上就能捕捉到异常
程序一次只能抛出一个异常,抛出完异常后,程序不会向下执行。要执行213行的抛异常需要屏蔽212的抛异常
指定抛出异常类型:
也可以在函数中抛出指定类型的异常,格式如下
如果throw中的括号没有指定任何类型,就说明该函数不允许抛出任何异常,也可以用关键字noexcept。函数名后面没有throw()时,表示该函数能抛出任意类型的异常
noexcept
- 当noexcept修饰一个函数不能抛出异常时,但函数内部抛出了异常,会直接报错
- noexcept也能带参数,但参数是一个bool值,但参数为true时,表示该函数不能抛异常,bool值为false时,表示该函数能抛出异常
- 通过控制bool值可以决定该函数是否需要抛出异常