catch异常找到匹配的异常,还会走下面的父类异常吗
时间: 2024-03-04 12:14:24 浏览: 23
C++之try catch 异常处理入门实例
当程序出现异常时,会按照异常处理的机制进行处理。在异常处理中,通常会使用多个catch语句来捕获不同类型的异常。
当一个异常被捕获后,程序会执行对应的catch语句块,并且不会继续执行后面的catch语句块。这意味着,如果一个异常被匹配到了特定的catch语句块,那么后面的catch语句块将不会被执行。
然而,如果没有找到与抛出的异常类型匹配的catch语句块,程序会继续向上查找更一般的异常类型,直到找到匹配的catch语句块或者到达顶层的异常处理机制(例如未捕获异常处理器)为止。这意味着,如果没有找到匹配的catch语句块,会继续执行上层的父类异常的catch语句块。
总结起来,当程序捕获到一个异常时,会按照异常处理机制进行处理。如果找到了与抛出的异常类型匹配的catch语句块,则只会执行该catch语句块;如果没有找到匹配的catch语句块,则会继续向上查找更一般的异常类型,并执行匹配的catch语句块。
阅读全文