diff --git a/javaSE-day05/src/com/inmind/exception05/Demo09.java b/javaSE-day05/src/com/inmind/exception05/Demo09.java new file mode 100644 index 0000000..a865aac --- /dev/null +++ b/javaSE-day05/src/com/inmind/exception05/Demo09.java @@ -0,0 +1,51 @@ +package com.inmind.exception05; + +import java.io.IOException; +import java.text.ParseException; + +/* +try..catch处理多个异常 + +1.在实际开发中,一段业务代码,可能会出现多个异常中的任意一个,所以我们要学习多异常处理 + +2.多异常处理语法: + try{ + 可能会出现异常的代码 + }catch(异常名 变量名){ + 捕获了异常之后,异常处理代码 + }catch(异常名 变量名){ + 捕获了异常之后,异常处理代码 + } + catch(异常名 变量名){ + 捕获了异常之后,异常处理代码 + }.... +3.多异常处理的执行流程: + 对于出现的异常,语法会根据catch的顺序依次捕获,如果有一个catch捕获到了那么后面的catch就不会执行了 + + + 注意: + 1.实际开发中,具体的异常具体处理.但是我们学习阶段不关心这业务,所以今后暂且直接catch (Exception e) + 2.catch(Exception)的目的:在最后做一个保险操作 + */ +public class Demo09 { + public static void main(String[] args) { + try { + int i = 9; + if (i > 10) { + throw new ArrayIndexOutOfBoundsException(); + } + if (i < 10) { + throw new NullPointerException(); + } + //可能会出现意料之外的异常 + throw new ParseException("",1); + } catch (ArrayIndexOutOfBoundsException e) { + System.out.println("捕获了索引越界异常"); + } catch (NullPointerException e) { + System.out.println("捕获了空指针异常"); + } catch (Exception e){//托底 + System.out.println("不管什么异常,我都能处理"); + } + System.out.println("程序结束"); + } +}