博客
关于我
Java中常见异常举例
阅读量:754 次
发布时间:2019-03-23

本文共 2078 字,大约阅读时间需要 6 分钟。

Java中常见异常举例

Java作为一个强大的编程语言,拥有大量的异常类型。了解这些异常及其常见原因,对于代码调试和优化至关重要。本文将详细介绍几种常见的Java异常类型及其示例。

1. 常见异常类型

在Java中,异常可以分为几大类,每类异常都有自己独特的原因和处理方式。以下是一些常见异常类型:

  • ClassCastException

    描述:当尝试将一个对象赋值为另一个不相关的类时,会抛出此异常。
    举例:将一个Date对象赋值给一个String变量会导致该异常。

  • ArrayIndexOutOfBoundsException

    描述:当尝试访问数组中的一个不存在的索引时,会抛出此异常。
    举例:访问一个长度为3的数组的第4个元素。

  • NullPointerException

    描述:当引用一个尚未初始化的对象时,或者尝试用null进行操作时,会抛出此异常。
    举例:调用一个方法的返回值未赋值时直接使用。

  • ArithmeticException

    描述:在执行算术操作时出现错误,例如除以零或进行负数除法时会抛出此异常。
    举例:尝试用零作为除数进行除法运算。

  • NumberFormatException

    描述:将一个不能被解析为指定类型的字符串转换为数值时会抛出此异常。
    举例:将"abc"转换为整数。

  • InputMismatchException

    描述:在读取输入时,用户输入的数据类型与预期不符时会抛出此异常。
    举例:读取一个字符串期望是一个整数,但用户输入了小数。

  • IOException

    描述:涉及输入输出操作时发生错误时会抛出此异常。
    举例:尝试读取从文件中不存在的数据时会抛出此异常。

  • ClassNotFoundException

    描述:当尝试加载一个类文件时,找不到指定的类时会抛出此异常。
    举例:调用一个类的Class.forName方法,但该类不存在。

  • SQLException

    描述:涉及数据库操作时出现错误时,比如SQL语句错误或连接问题时,会抛出此异常。

2. 常见异常代码举例

让我们通过一些具体的代码示例来了解这些异常的表现形式。

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/

你可能感兴趣的文章
mysql中datetime与timestamp类型有什么区别
查看>>
MySQL中DQL语言的执行顺序
查看>>
mysql中floor函数的作用是什么?
查看>>
MySQL中group by 与 order by 一起使用排序问题
查看>>
mysql中having的用法
查看>>
MySQL中interactive_timeout和wait_timeout的区别
查看>>
mysql中int、bigint、smallint 和 tinyint的区别、char和varchar的区别详细介绍
查看>>
mysql中json_extract的使用方法
查看>>
mysql中json_extract的使用方法
查看>>
mysql中kill掉所有锁表的进程
查看>>
mysql中like % %模糊查询
查看>>
MySql中mvcc学习记录
查看>>
mysql中null和空字符串的区别与问题!
查看>>
MySQL中ON DUPLICATE KEY UPDATE的介绍与使用、批量更新、存在即更新不存在则插入
查看>>
MYSQL中TINYINT的取值范围
查看>>
MySQL中UPDATE语句的神奇技巧,让你操作数据库如虎添翼!
查看>>
Mysql中varchar类型数字排序不对踩坑记录
查看>>
MySQL中一条SQL语句到底是如何执行的呢?
查看>>
MySQL中你必须知道的10件事,1.5万字!
查看>>
MySQL中使用IN()查询到底走不走索引?
查看>>