举报投诉联系我们 手机版 热门标签 鳄鱼CMS
您的位置:鳄鱼CMS > java异常有哪几种 Java 异常

java异常有哪几种 Java 异常

2023-03-04 18:31 Java教程

java异常有哪几种 Java 异常

java异常有哪几种

Java异常是指在Java程序运行时发生的不正常情况,它会导致程序的执行中断。Java异常分为两大类:一类是受检异常(Checked Exception),另一类是非受检异常(Unchecked Exception)。

受检异常是指在编译期间就必须处理的异常,它们必须显式地由程序员进行处理。如果不处理这些异常,程序将无法通过编译。受检异常包括IOException、SQLException、ClassNotFoundException和InterruptedException等。

非受检异常是指在运行期间出现的不正常情况,它们不需要显式地由程序员进行处理。如果不处理这些异常,也不会影响到代码的正常执行。非受检异常包括NullPointerException、ArrayIndexOutOfBoundsException、IllegalArgumentException和NumberFormatException等。

try { 
    // 可能出错的代码 
} catch (IOException e) { 
    // 处理 IO 异常 
} catch (SQLException e) { 
    // 处理 SQL 异常 
} catch (NullPointerException e) { 
    // 处理 NullPointer 异常 
} catch (ArrayIndexOutOfBoundsException e) { 
    // 处理 ArrayIndexOutOfBounds 异常 
} catch (IllegalArgumentException e) { 
    // 处理 IllegalArgument 异常 
} catch (NumberFormatException e) { 
    // 处理 NumberFormat 异常   }

Java 异常

Java教程 - Java异常


异常是在运行时在代码序列中出现的异常状况。例如,读取一个不存在的文件。

Java异常是描述异常条件的对象发生在一段代码中。

关键词

Java异常处理通过五个关键字管理: try,catch,throw,throws和finally。

try block包含要监视的程序语句异常。

如果在块中发生异常,则抛出异常。

catch 语句可以捕获异常并以合理的方式处理它。

要手动抛出异常,请使用关键字throw。

任何抛出的异常一个方法必须由一个 throws 子句指定。

任何代码绝对必须是在try块完成之后执行的命令被放在 finally 块中。


语法

要处理一个异常,我们把可能有的代码在try ... catch语句中的异常。

try { 
// block of code to monitor for errors 
} 
catch (ExceptionType1 exOb) { 
// exception handler for ExceptionType1 
}
catch (ExceptionType2 exOb) { 
// exception handler for ExceptionType2 
}

可能有异常的程序语句包含在 try 块中。异常处理程序使用 catch 语句进行编码。

这里, ExceptionType 是发生的异常的类型。


例子

在try块和catch子句中封装要监视的代码。

下面的程序包括一个try块和一个catch子句处理由除法生成的ArithmeticException错误:

public class Main {
  public static void main(String args[]) {
    int d, a;
    try { // monitor a block of code.
      d = 0;
      a = 42 / d;
      System.out.println("This will not be printed.");
    } catch (ArithmeticException e) { // catch divide-by-zero error
      System.out.println("Division by zero.");
    }
    System.out.println("After catch statement.");
  }
}

此程序生成以下输出:

例2

一旦抛出异常,程序控制就会从try块转移到catch块中。执行从未从catch返回到try块。

以下代码处理异常并继续。

import java.util.Random;

public class Main {
  public static void main(String args[]) {
    int a = 0, b = 0, c = 0;
    Random r = new Random();
    for (int i = 0; i < 32000; i++) {
      try {
        b = r.nextInt();
        c = r.nextInt();
        a = 12345 / (b / c);
      } catch (ArithmeticException e) {
        System.out.println("Division by zero.");
        a = 0; // set a to zero and continue
      }
      System.out.println("a: " + a);
    }
  }
}

上面的代码生成以下结果。

阅读全文
以上是鳄鱼CMS为你收集整理的java异常有哪几种 Java 异常全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 鳄鱼CMS eyucms.com 版权所有 联系我们