首页 > 编程语言 >java——异常——抛出throw关键字

java——异常——抛出throw关键字

时间:2022-11-20 11:12:10浏览次数:32  
标签:arr java int 关键字 数组 异常 throw

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

抛出throw关键字

throw关键字

作用:
可以使用throw关键字在指定的方法中抛出指定的异常
使用格式:

throw new xxxException("异常产生的原因");

注意:
1.throw关键字必须写在方法的内部
2.throw关键字后边new的对象必须是Exception或者Exception的子类对象
3.throw关键字抛出指定的异常对象,我们就必须处理这个异常对象

  • throw关键字后边创建的是RuntimeException或者是 RuntimeException的子类对象,我们可以不处理,默认交给JVM处理(打印异常对象,中断程序)

  • throw关键字后边创建的是编译异常(写代码的时候报错),我们就必须处理这个异常,要么throws,要么try...catch


public class Demo03Throw {
    public static void main(String[] args) {
        //int[] arr = null;
        int[] arr = new int[3];
        int e = getElement(arr,3);
        System.out.println(e);
    }
    /*
        定义一个方法,获取数组指定索引处的元素
        参数:
            int[] arr
            int index
        以后(工作中)我们首先必须对方法传递过来的参数进行合法性校验
        如果参数不合法,那么我们就必须使用抛出异常的方式,告知方法的调用者,传递的参数有问题
        注意:
            NullPointerException是一个运行期异常,我们不用处理,默认交给JVM处理
            ArrayIndexOutOfBoundsException是一个运行期异常,我们不用处理,默认交给JVM处理
     */
    public static int getElement(int[] arr,int index){
        /*
            我们可以对传递过来的参数数组,进行合法性校验
            如果数组arr的值是null
            那么我们就抛出空指针异常,告知方法的调用者"传递的数组的值是null"
         */
        if(arr == null){
            throw new NullPointerException("传递的数组的值是null");
        }

        /*
            我们可以对传递过来的参数index进行合法性校验
            如果index的范围不在数组的索引范围内
            那么我们就抛出数组索引越界异常,告知方法的调用者"传递的索引超出了数组的使用范围"
         */
        if(index<0 || index>arr.length-1){
            throw new ArrayIndexOutOfBoundsException("传递的索引超出了数组的使用范围");
        }

        int ele = arr[index];
        return ele;
    }
}
 

标签:arr,java,int,关键字,数组,异常,throw
From: https://www.cnblogs.com/xiaobaibailongma/p/16908055.html

相关文章

  • Java-01enum常量特定方法
    OnJava8-Enum-常量特定方法用枚举实现责任链模式责任链(ChainOfResponsibility)设计模式先创建了一批用于解决目标问题的不同方法,然后将它们连成一条“链”。当一个请求......
  • 力扣744(java&python)- 寻找比目标字母大的最小字母(简单)
    题目:给你一个排序后的字符列表letters,列表中只包含小写英文字母。另给出一个目标字母 target,请你寻找在这一有序列表里比目标字母大的最小字母。在比较时,字母是依序循......
  • java——异常——异常的分类
                                                        ......
  • java RSA加密
    参考了下面这个博主的文章,很有收获,简单处理后记录一下RSA加密、解密、签名、验签的原理及方法-PC君-博客园  工具类自带生成秘钥的方法,也可以用第三方工具生成秘......
  • java——异常——异常概念&异常体系
                                                异常的概念与体系异常的......
  • String和int互相转化(java)
    1如何将字串String转换成整数int?A.有两个方法:1、 inti=Integer.parseInt([String]); 或 i=Integer.parseInt([String],[intradix]);2、 inti=Inte......
  • MySQL高级知识——Order By关键字优化
    在使用orderby时,经常出现Usingfilesort,因此对于此类sql语句需尽力优化,使其尽量使用Usingindex。1.准备1.1创建test表。droptableifexiststest;createtabletest(......
  • New关键字
    1、创建对象2、隐藏从父类那里继承过来的同名成员,隐藏的后果就是子类调用不到父类的成员了。子类名称和父类名称写的一样的时候,你就调用不到父类的成员了,如果你故意这么......
  • java异常处理机制(实践建议篇)
    转载自java全栈知识体系https://www.cnblogs.com/dolphin0520/p/3769804.html在java中对于异常的处理并不是一件简单的事情,可能需要经过大量的思考以确保其合理性,以便程......
  • java——Debug调试
    Debug调试Debug调试程序:可以让代码逐行执行,查看代码执行的过程,调试程序中出现的bug使用方式:在行号的右边,鼠标左键单击,添加断点(每个方法的第一行,哪里有bug添......