From ef8647eea6a591dcd86789d5366d81c909edfc90 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Wed, 4 Feb 2026 14:15:21 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9B=E9=98=B6day05-try..catch=E5=A4=84?= =?UTF-8?q?=E7=90=86=E5=A4=9A=E4=B8=AA=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/inmind/exception05/Demo09.java | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 javaSE-day05/src/com/inmind/exception05/Demo09.java 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("程序结束"); + } +}