throw 关键字,throw 必须写在方法体中,并且 throw new xxxException的话,如果是运行时的异常可以不用管,如果是编译的异常需要进行处理
/*
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;
}
}
throw 关键字,throw 必须写在方法体中,并且 throw new xxxException的话,如果是运行时的异常可以不用管,如果是编译的异常需要进行处理相关推荐
- java中的throw new Exception();和throw e;异常抛出
java代码如下: package com.imooc.exception; public class Throw1 { public static void main(String[] args) ...
- Java基础之throws和throw关键字
文章目录 throws和throw区别 throws关键字 throw关键字 throws抛出抽象方法异常 自定义异常 throws和throw区别 throws关键字 throws定义一个方法的时候 ...
- JAVA异常处理、自定义异常、throws关键字与throw关键字、运行时异常
异常捕捉, try-catch语句. package YH;public class Thundering {public static void main(String[] args) {try { ...
- java的throw不常用吗_java中的throw与throws的区别
什么时运行时异常?什么是非运行时异常? 通俗的讲: 运行时异常:就是编译通过,运行时就崩了,比如数组越界. 非运行时异常:就是编译不通过,这时就得必须去处理了.不然就没法运行了. 全面的讲: Thro ...
- 22.Java之异常处理(异常介绍,异常体系图一览,运行时异常,编译异常,try-catch方式处理异常,throws异常处理,自定义异常,throws 和 throw 的区别)
22.1.异常介绍 Java语言中,将程序执行中发生的不正常情况称为 "异常" (开发过程中的语法错误和逻辑错误不是异常) 执行过程中所发生的异常事件分为两大类: Error:Ja ...
- java中的throw和throws区别
1.throws throws关键字通常被应用在声明方法时,用来指定可能抛出的异常.多个异常可以使用逗号隔开.当在主函数中调用该方法时,如果发生异常,就会将异常抛给指定异常对象.如下面例子所示: pu ...
- java中的throw_Java中的throw和throws之间的区别
throw和throws都是异常处理的概念,其中throw用于显式地从方法或任何代码块中引发异常,而throw在方法的签名中用于指示此方法可能抛出列出的类型之一例外. 以下是throw和throws之 ...
- 简要解析Java中的throw和throws关键字
解析Java中的throw和throws关键字 1 throws关键字 1.1 作用 向上抛异常,把异常交给调用处处理,实际上自身并没有处理异常. 1.2 原理 一旦方法体出现异常,仍会在异常代码出生 ...
- 【零基础学Java】—throw关键字(四十六)
[零基础学Java]-throw关键字(四十六) 一.throw关键字 public class demo {public static void main(String[] args) {//创建i ...
- Kotlin学习笔记 第四章 解构声明 集合集合的扩展方法 Range 异常 Throw关键字
参考链接 Kotlin官方文档 https://kotlinlang.org/docs/home.html 中文网站 https://www.kotlincn.net/docs/reference/p ...
最新文章
- 读书笔记:《图解HTTP》第三章 HTTP报文
- [java][工具类][Arrays]
- HackerRank Nimble Game
- IBASE category 设置为01的情况下 IBASE自动创建情况
- 织梦编辑器加HTML视频显示很小,织梦去掉编辑器自动加div的方法即大小字情况...
- ZOJ 1760 How Many Shortest Path
- yii2.0框架debug模式
- 枚举编写单例是可以保证在多线程中的安全性
- 一步一步手绘Spring IOC运行时序图一(Spring 核心容器 IOC初始化过程)
- html图片自动剪裁,HTML canvas图像裁剪
- 指数基金之父Bogle为指数基金敲响了警钟
- 个所税服务器没有企业信息,【重要】企业纳税申报一定要看进来!
- L' Hospital(洛必达)法则
- Oracle转换Postgres
- commitlint
- 计算机专业的梦想作文,我的梦想作文300字(通用15篇)
- ecg-qc实现ECG信号质量评估
- 书名带冒号_冒号_冒号的用法和作用_冒号怎么打_标点符号网
- fstream ,ifstream,ofstream的用法详解
- (题解)《算法零基础100讲》(第38讲) 排序进阶 - 希尔排序