评论

收藏

[Java] Java开发过程中关于异常处理的详解

编程语言 编程语言 发布于:2022-02-26 12:03 | 阅读数:490 | 评论:0

异常是程序中的一些错误,但不是所有错误都是异常,且错误有时候是可以避免的。比如说,你的代码少一个分号,那运行出来结果是提示是错误 java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出 j
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)
  }
}
结果:
DSC0000.jpg

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

DSC0002.jpg


2.处理异常:
DSC0003.jpg
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抓异常,后面没有异常的代码就不会因为前面的代码一些异常而停止,
就可以执行
DSC0004.jpg


3.throwable:成员方法:
System.out.println(e.toString());//打印出异常内容:位置和名称
e.printStackTrace(); //输出异常数据:控制台
System.out.println(e.getMessage()); 一样
多用:System.out.println(e.toString());这个
DSC0005.jpg
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());
}
结果:
DSC0006.jpg


4.throws:抛出异常:
DSC0007.jpg


但是在异常处:还是要添加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("执行中");
}

}
DSC0008.jpg

到此这篇关于Java开发过程中关于异常处理的详解的文章就介绍到这了,更多相关Java 异常内容请搜索CodeAE代码之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持CodeAE代码之家!
原文链接:https://blog.csdn.net/qq_51813155/article/details/120895811

关注下面的标签,发现更多相似文章