本文共 2078 字,大约阅读时间需要 6 分钟。
Java作为一个强大的编程语言,拥有大量的异常类型。了解这些异常及其常见原因,对于代码调试和优化至关重要。本文将详细介绍几种常见的Java异常类型及其示例。
在Java中,异常可以分为几大类,每类异常都有自己独特的原因和处理方式。以下是一些常见异常类型:
ClassCastException
Date对象赋值给一个String变量会导致该异常。ArrayIndexOutOfBoundsException
NullPointerException
null进行操作时,会抛出此异常。举例:调用一个方法的返回值未赋值时直接使用。ArithmeticException
NumberFormatException
InputMismatchException
IOException
ClassNotFoundException
Class.forName方法,但该类不存在。SQLException
让我们通过一些具体的代码示例来了解这些异常的表现形式。
ArrayIndexOutOfBoundsExceptionpublic class IndexOutExp { public static void main(String[] args) { String friends[] = { "lisa", "bily", "kessy" }; for (int i = 0; i < 5; i++) { System.out.println(friends[i]); } System.out.println("\n这个是末尾"); }} 上述代码中,friends 数组的长度为3,但是循环条件是 i < 5,导致 i=3 时访问 friends[4],从而抛出数组越界异常。
NullPointerExceptionpublic class NullRef { int i = 1; public static void main(String[] args) { NullRef t = new NullRef(); t = null; System.out.println(t.i); }} 在这个例子中,t 被赋值为 null,然后尝试访问 t.i,这会导致 NullPointerException。
ArithmeticExceptionpublic class DivideZero { int x; public static void main(String[] args) { DivideZero c = new DivideZero(); int y = 3 / c.x; System.out.println("程序运行正常"); }} 此处,c.x 未初始化,导致在执行除法时抛出 ArithmeticException。
ClassCastExceptionpublic class Order { public static void main(String[] args) { Object obj = new Date(); Order order; order = (Order) obj; System.out.println(order); }} 将 Object 类型的 obj 强制赋值为 Order 类会抛出 ClassCastException。
以上是一些常见的Java异常类型及其示例。理解这些异常有助于我们在编写代码时避免潜在的错误,并在遇到异常时能够快速诊断并解决问题。
转载地址:http://pdtzk.baihongyu.com/