gpt4 book ai didi

Java异常类型及处理详情

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 30 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Java异常类型及处理详情由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

异常结构为:

Throwable 为顶级父类 。

  • 子类Error为严重报错 ,
  • 子类Exception就是我们所说的异常了

1、异常处理的关键字

java中处理异常的有五个关键字: try、catch 、finally 、 throw 、throws 。

throw抛出异常 , thorws声明异常 , 捕获异常 try_catch 。

1、throw

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
public class SegmentFault {
     public static void main(String[] args) {
 
         /**
          *  throw 抛出异常
          *    格式 - throw new 异常类名(参数);
          * */
 
         // 创建一个数组
         int [] arr = { 2 , 4 , 56 , 5 };
         // 根据索引找到对应的元素
         int index = 4 ;
         int element = getElement(arr,index);
         System.out.println(element);
         System.out.println( "owo" ); // 运行错误 无法继续
     }
         /** throw 抛出异常 提醒你必须处理  */
     public static int getElement( int [] arr, int index){
         // 判断数组索引是否越界
         if (index < 0  || index > arr.length - 1 ){
             /**
              * 条件满足越界 当执行到throw抛出异常后就无法运行,结束方法并且提示
              * */
             throw new ArrayIndexOutOfBoundsException( "数组下标越界异常" );
         }
         int element = arr[index];
         return element;
     }
}   

异常结果为:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 数组下标越界异常 。

2、throws

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class SegmentFault{
     public static void main(String [] args){
    
         read( "a.txt" );
        
     }
       public static void read(String path) throws FileNotFoundException, IOException {
         if (!path.equals( "a.txt" )){  // 如果没有a.txt
             // 如果不是 a.txt 该文件不存在 是一个错误 也就是异常 throw
             throw new FileNotFoundException( "文件不存在" );
         }
         if (!path.equals( "b.txt" )){
             throw new IOException( "文件不存在" );
         }
     }
    
}

异常结果为:

Exception in thread "main" java.io.IOException: 文件不存在 。

try、catch、finally + Throwable中的常用方法.

Throwable常用方法如下:

  • printStackTrace() : *打印异常详细信息。
  • getMessage() : 获取异常原因。
  • toString(): 获取异常类型及描述信息。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
public class Demo03 {
     public static void main(String[] args) {
 
         /**
          *  try- catch  捕获异常
          * */
 
 
         // 可能会生成的异常
         try {     // 捕获或者声明
             read( "b.txt" );
         } catch (FileNotFoundException e) {   // 使用某种捕获,实现对异常的处理
             System.out.println(e);
             /**
              *  Throwable中的查看方法
              *  getMessage 获取异常信息  提示给用户看的
              *  toString   获取异常的类型和异常描述(不用)
              *  printStackTrace
              * */
            
            
             System.out.println( "Throwable常用方法测试" );
             System.out.println(e.getMessage()); // 文件不存在
             System.out.println(e.toString());
             e.printStackTrace();
            
            
 
         } finally {
             System.out.println( "不管程序怎样,这里都会被执行" );
         }
 
         System.out.println( "over" );
 
     }
 
     public static void read(String path) throws FileNotFoundException {
         if (!path.equals( "a.txt" )) {
             throw new FileNotFoundException( "文件不存在" );
         }
     }
    
}

输出结果为:

java.io.FileNotFoundException: 文件不存在 -----Throwable常用方法测试------ 文件不存在 java.io.FileNotFoundException: 文件不存在 不管程序怎样,这里都会被执行 。

注意事项 :try、 catch、 finally、都不可以单独使用 。

到此这篇关于Java异常类型及处理详情的文章就介绍到这了,更多相关Java异常类型及处理内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。

原文链接:https://segmentfault.com/a/1190000040525473 。

最后此篇关于Java异常类型及处理详情的文章就讲到这里了,如果你想了解更多关于Java异常类型及处理详情的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com