欢迎访问宙启技术站
智能推送

Java函数异常处理相关

发布时间:2023-06-26 22:11:27

Java是一门强类型的编程语言,在开发过程中经常会发生异常,如空指针、数组越界、文件读写异常等等。Java提供了异常处理机制,可以让程序在遇到异常时进行捕捉、处理并给出相应的提示,保证程序的稳定性和鲁棒性。

Java异常分类

Java把异常分为可查异常和非可查异常两种类型:

1.可检查异常:Java虚拟机强制程序必须捕捉或声明抛出的异常,如IOException,SQLException等。

2.非检查异常:编写程序无法用try…catch块或者throws子句在编译时捕捉的异常,如NullPointerException、ArrayIndexOutOfBoundsException等。

Java异常处理机制

当程序运行中抛出异常,如果没有进行处理,程序就会终止,抛出异常信息。Java提供了异常处理机制,可以在程序出现异常时捕获并进行相应的处理,保证程序的正常运行。

Java异常处理的基本语法:

try{

   //程序代码

}catch(异常类型1 异常类型1的对象){

    //处理异常方式1

}catch(异常类型2 异常类型2的对象){

    //处理异常方式2

}finally{

    //一定会执行的代码

}

1.try:尝试执行可能发生异常的代码块。

2.catch:捕获异常。当try块中的代码出现异常时,会跳转至catch块中进行处理。一个try块可以有多个catch块,每个catch块处理一种异常类型。

3.finally:无论try和catch块内是否有异常,finally块中代码都会执行。finally块通常用于释放资源等操作。

抛出异常的方式

当程序出现异常时,可以通过抛出异常的方式进行提醒,通常的方式如下:

throw new 异常类(“异常信息”)

例如:throw new Exception("数组下标越界")

Java异常处理实例

示例一:NullPointException

public class TestException{

  public static void main(String[] args) {

    try{

       String str = null;

       System.out.println(str.length());

    }catch(Exception e){

       System.out.println("空指针异常");

    }finally{

       System.out.println("无论是否发生异常,finally块一定会执行!");

    }

  }

}

运行结果:

空指针异常

无论是否发生异常,finally块一定会执行!

示例二:ArrayIndexOutOfBoundsException

public class TestException{

  public static void main(String[] args) {

    try{

       int[] array = new int[5];

       System.out.println(array[5]);

    }catch(Exception e){

       System.out.println("数组越界异常");

    }finally{

       System.out.println("无论是否发生异常,finally块一定会执行!");

    }

  }

}

运行结果:

数组越界异常

无论是否发生异常,finally块一定会执行!

示例三:IOException

public class TestException{

  public static void main(String[] args) {

    FileReader fr = null;

    try{

       fr = new FileReader("test.txt");

    }catch(IOException e){

      System.out.println("文件读取异常");

      return;

    }finally{

      try{

         if(fr!=null){

           fr.close();

         }

      }catch(IOException e){

         System.out.println("文件关闭异常");

      }

    }

  }

}

运行结果:

文件读取异常

文件关闭异常

实例中,程序通过FileReader尝试读取文件,如果文件不存在,则会抛出IOException。程序中使用了try…catch块捕获异常,并且在finally块中用于释放资源,即关闭文件。

总结

Java异常处理是Java编程中必不可少的基本知识,掌握Java异常处理机制可以有效提高程序的稳定性和鲁棒性。在编程中常见的异常包括空指针、数组越界、文件读写异常等等,Java提供了一套完整的异常处理机制,包括try、catch、finally等语句和throw、throws等关键字,能够对异常进行捕获、抛出、处理,保证程序的正常运行。在编写代码时,应该养成好的编码习惯,避免出现大量的异常,提高程序的可维护性。