Java开发过程中关于异常处理的详解
1.运行java时,出现了异常:
我这里是因为:arr[3]不存在:
java.lang.ArrayIndexOutOfBoundsException: 3
public class btyf {
public static void main(String[] args){
int[] arr={1,2,3};
System.out.println(arr[0]);
System.out.println(arr[3]);
System.out.println(arr[1]);
//1 异常
ArrayIndexOutOfBoundsException 异常名
// btyf.main(btyf.java:13) 异常位置第13行
//
//Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
// at btyf.main(btyf.java:13)
}
}
结果:

java虚拟机:会把异常内容输出控制台


2.处理异常:

public class btyf {
public static void main(String[] args){
int[] arr={1,2,3};
System.out.println(arr[0]);
try{
System.out.println(arr[3]);
}catch (ArrayIndexOutOfBoundsException e) {
System.out.println("你访问的数组索引不存在");
e.printStackTrace(); //输出异常数据:控制台
}
System.out.println(arr[1]);
//1 异常
// ArrayIndexOutOfBoundsException 异常名
// btyf.main(btyf.java:13) 异常位置
//Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
// at btyf.main(btyf.java:13)
}
}
结果:
通过try抓异常,后面没有异常的代码就不会因为前面的代码一些异常而停止,
就可以执行

3.throwable:成员方法:
System.out.println(e.toString());//打印出异常内容:位置和名称
e.printStackTrace(); //输出异常数据:控制台
System.out.println(e.getMessage()); 一样
多用:System.out.println(e.toString());这个

try{
System.out.println(arr[3]);
}catch (ArrayIndexOutOfBoundsException e) {
//System.out.println("你访问的数组索引不存在");
// e.printStackTrace();
System.out.println(e.getMessage());
//public String getMessage() {
// return detailMessage;
// }
System.out.println(e.toString());
}
结果:

4.throws:抛出异常:

但是在异常处:还是要添加try catch
添加位置:异常成员方法
public static void main(String[] args)throws ArrayIndexOutOfBoundsException{}
代码:
public class uytig {
public static void main(String[] args)throws ArrayIndexOutOfBoundsException{
int[] arr={1,2,3};
System.out.println(arr[0]);
try {
System.out.println(arr[3]);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("执行中");
}
}

到此这篇关于Java开发过程中关于异常处理的详解的文章就介绍到这了,更多相关Java 异常内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Java、JavaScript、Oracle、MySQL中实现的MD5加密算法分享
这篇文章主要介绍了Java、JavaScript、Oracle、MySQL中实现的MD5加密算法分享,需要的朋友可以参考下2014-09-09
IntelliJ IDEA 2020.2正式发布,两点多多总能助你提效
这篇文章主要介绍了IntelliJ IDEA 2020.2正式发布,诸多亮点总有几款能助你提效,本文通过图文实例代码相结合给大家介绍的非常详细,需要的朋友可以参考下2020-07-07
SpringBoot+SseEmitter和Vue3+EventSource实现实时数据推送
本文主要介绍了SpringBoot+SseEmitter和Vue3+EventSource实现实时数据推送,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2025-03-03
spring中在xml配置中加载properties文件的步骤
这篇文章主要介绍了在spring中如何在xml配置中加载properties文件,本文分步骤给大家介绍在XML配置中加载properties文件的方法,需要的朋友可以参考下2023-07-07


最新评论