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操作Elasticsearch rest-high-level-client 的基本使用
这篇文章主要介绍了Java操作Elasticsearch rest-high-level-client 的基本使用,本篇主要讲解一下 rest-high-level-client 去操作 Elasticsearch的方法,结合实例代码给大家详细讲解,需要的朋友可以参考下2022-10-10SpringBoot中实现分布式的Session共享的详细教程
这篇文章主要介绍了SpringBoot中实现分布式的Session共享,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-06-06SpringBoot 开发提速神器 Lombok+MybatisPlus+SwaggerUI
这篇文章主要介绍了SpringBoot 开发提速神器 Lombok+MybatisPlus+SwaggerUI,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-03-03MybatisPlus #{param}和${param}的用法详解
这篇文章主要介绍了MybatisPlus #{param}和${param}的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-09-09
最新评论