博客
关于我
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/

你可能感兴趣的文章
svn访问报错500
查看>>
sum(a.YYSR) over (partition by a.hy_dm) 不需要像group by那样需要分组函数。方便。
查看>>
ORCHARD 是什么?
查看>>
Struts2中使用Session的两种方法
查看>>
STM32工作笔记0032---编写跑马灯实验---寄存器版本
查看>>
order by rand()
查看>>
SSM(Spring+SpringMvc+Mybatis)整合开发笔记
查看>>
Orderer节点启动报错解决方案:Not bootstrapping because of 3 existing channels
查看>>
org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException: Unexpected subelement profile
查看>>
sql查询中 查询字段数据类型 int 与 String 出现问题
查看>>
org.apache.commons.beanutils.BasicDynaBean cannot be cast to ...
查看>>
org.apache.dubbo.common.serialize.SerializationException: com.alibaba.fastjson2.JSONException: not s
查看>>
sqlserver学习笔记(三)—— 为数据库添加新的用户
查看>>
org.apache.http.conn.HttpHostConnectException: Connection to refused
查看>>
org.apache.ibatis.binding.BindingException: Invalid bound statement错误一例
查看>>
org.apache.ibatis.exceptions.PersistenceException:
查看>>
org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned
查看>>
org.apache.ibatis.type.TypeException: Could not resolve type alias 'xxxx'异常
查看>>
org.apache.poi.hssf.util.Region
查看>>
org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg/apache/xmlbeans/XmlOptions;
查看>>