本文共 2078 字,大约阅读时间需要 6 分钟。
Java作为一个强大的编程语言,拥有大量的异常类型。了解这些异常及其常见原因,对于代码调试和优化至关重要。本文将详细介绍几种常见的Java异常类型及其示例。
在Java中,异常可以分为几大类,每类异常都有自己独特的原因和处理方式。以下是一些常见异常类型:
ClassCastException
Date
对象赋值给一个String
变量会导致该异常。ArrayIndexOutOfBoundsException
NullPointerException
null
进行操作时,会抛出此异常。举例:调用一个方法的返回值未赋值时直接使用。ArithmeticException
NumberFormatException
InputMismatchException
IOException
ClassNotFoundException
Class.forName
方法,但该类不存在。SQLException
让我们通过一些具体的代码示例来了解这些异常的表现形式。
ArrayIndexOutOfBoundsException
public 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]
,从而抛出数组越界异常。
NullPointerException
public 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
。
ArithmeticException
public 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
。
ClassCastException
public 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/