class NoWater extends Exception {} class NoDrinkableWater extends NoWater {} public class FinallyWorks { static int count = 0; public static void main(String[] args) throws NoWater { while ( true ) { try { count++; if ( count == 1 ) { System.out.println("OK"); } else if ( count == 2 ) { System.out.println("Exception raised: NoDrinkableWater"); throw new NoDrinkableWater(); } else if ( count == 3 ) { System.out.println("Exception raised: NoWater"); throw new NoWater(); } } catch (NoDrinkableWater e) { System.out.println(e); } finally { System.out.println("finally"); if ( count == 3 ) break; } } } }
时间: 2023-06-03 17:01:29 浏览: 79
这是一个关于Java异常处理的问题。程序使用了try-catch-finally语句块来捕获和处理异常。其中定义了两个自定义异常类NoWater和NoDrinkableWater,并且在不同的条件下抛出这些异常。在程序执行过程中,finally语句块中的代码总是会被执行。这个程序的输出结果将依次是"finally"、"OK"、"finally"、"Exception raised: NoDrinkableWater"、"finally"、"Exception raised: NoWater"、"finally"。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)