From 4ea77a1610d2f73c99bb622e43977357b815fa77 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Mon, 3 Aug 2026 16:44:12 +0800 Subject: [PATCH] =?UTF-8?q?s-day05-throw=E5=85=B3=E9=94=AE=E5=AD=97?= =?UTF-8?q?=E7=9A=84=E4=BD=9C=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/inmind/exception01/ThrowDemo03.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 s-day05/src/com/inmind/exception01/ThrowDemo03.java diff --git a/s-day05/src/com/inmind/exception01/ThrowDemo03.java b/s-day05/src/com/inmind/exception01/ThrowDemo03.java new file mode 100644 index 0000000..7ca404f --- /dev/null +++ b/s-day05/src/com/inmind/exception01/ThrowDemo03.java @@ -0,0 +1,32 @@ +package com.inmind.exception01; +/* + throw关键字的作用 + 之前的代码中如果出现异常都是JVM创建并抛出的,那么我们能不能自己抛出异常呢??? + 可以,throw能够让java开发人员自己抛出一个异常。 + 语法:throw new 异常名(); + + 为何要自己抛出异常,而不使用JVM的异常操作呢???? + 1.自己抛出的异常,是根据具体的业务进行操作 + 2.JVM会直接终止程序。 + + */ +public class ThrowDemo03 { + public static void main(String[] args) { + int[] arr = {1, 2, 3, 4, 5}; + //调用一个方法,获取数组指定索引的值 + int value = getValue(arr,10); + System.out.println(value); + System.out.println("程序结束"); + } + + private static int getValue(int[] arr, int index) { + //此处可能发生越界异常,我们能不能自己抛出异常,通知调用者呢???可以使用throw关键字 + if (index < 0 || index >= arr.length) { + //自己抛异常 + String msg = "当前数组的最大索引为:"+(arr.length-1)+",它的合法的索引范围只能是0~"+(arr.length-1); + throw new ArrayIndexOutOfBoundsException(msg); + } + int value = arr[index]; + return value; + } +}