当前位置: 首页 > 后端技术 > Java

Java异常处理

时间:2023-04-01 17:27:42 Java

深入理解try、catch、finally、throws、throw这五个关键字    下面来看看这五个关键字在异常机制中的用法和需要注意的地方。1、try、catch、finally  try关键字用于包围可能引发异常的逻辑代码。它们不能单独使用,必须与catch或finally结合使用。Java编译器允许的唯一组合是以下三种形式:  try...catch...;尝试……终于……;尝试....抓住...最后。..  当然可以有多个catch块,注意try块只能有一个,finally块是可选的(但finally块最多只能有一个)。  三个block的执行顺序是try—>catch—>finally。  当然,如果没有异常发生,catch块是不会执行的。但是不管什么情况finally块都会被执行(这一点要非常小心,所以在某些情况下,释放资源的操作会在finally块中进行)。  当有多个catch块时,按照catch块的先后顺序进行匹配。一旦异常类型被一个catch块匹配到,它就不会被后面的catch块匹配到。  在使用try..catch..finally块时,注意不要在finally块中使用return,因为finally中的return会覆盖已有的返回值。让我们看一个示例:打开文件();System.out.println(str);}publicStringopenFile(){try{FileInputStreaminputStream=newFileInputStream("d:/a.txt");intch=inputStream.read();系统输出。println("aaa");返回“第一步”;}catch(FileNotFoundExceptione){System.out.println("找不到文件");返回“步骤2”;}catch(IOExceptione){System.out.println("io异常");返回“第三步”;}finally{System.out.println("终于阻塞");//返回“最后”;}}}  该程序的输出为:  可以看出,try块中出现FileNotFoundException后,跳转到第一个catch块,打印“文件未找到”信息,并赋值“step2”到返回值,然后执行finally块,最后返回返回值。