本次分享一下java中常见的异常,及其示例
在Java编程中,异常是程序运行时发生的错误,它们可以被分为两大类:检查型异常(Checked Exceptions)和非检查型异常(Unchecked Exceptions)。下面列出了一些Java中常见的异常及其产生的原因:
NullPointerException(空指针异常)
原因:尝试使用null值调用对象的实例方法或访问对象的属性。
示例:Object obj = null; obj.toString();
ArrayIndexOutOfBoundsException(数组索引越界异常)
原因:访问数组时使用了超出数组界限的索引。
示例:int[] array = new int[5]; array[5] = 10;
ArithmeticException(算术异常)
原因:算术运算中出现了错误,如除以零。
示例:int result = 10 / 0;
ClassCastException(类转换异常)
原因:尝试将一个对象强制转换为不兼容的类型。
示例:Integer num = 10; Number n = (Double)num;
IllegalArgumentException(非法参数异常)
原因:方法接收到了一个不合法或不适当的参数。
示例:Arrays.sort(new Object[]{1, 2, 3});
NumberFormatException(数字格式异常)
原因:尝试将一个字符串转换为数字,但字符串的内容不是合法的数字格式。
示例:Integer.parseInt(“abc”);
IOException(输入输出异常)
原因:在进行输入输出操作时发生了错误,如文件未找到或无法读取。
示例:FileInputStream fis = new FileInputStream(“nonexistentfile.txt”);
SQLException(数据库异常)
原因:数据库操作失败,如连接失败、SQL语法错误等。
示例:Connection conn = DriverManager.getConnection(“jdbc:mysql://wrongurl”);
OutOfMemoryError(内存溢出错误)
原因:程序在申请内存时,没有足够的内存空间可以使用。
示例:List<byte[]> list = new ArrayList<>(); while (true) list.add(new byte[1024 * 1024]);
StackOverflowError(栈溢出错误)
原因:程序中存在无限递归调用或者过深的递归调用。
示例:public void recursiveMethod() { recursiveMethod(); }
NoSuchElementException(没有元素异常)
原因:在集合或数组中执行操作时,没有找到预期的元素。
示例:Iterator it = list.iterator(); it.next(); it.next(); // 如果list只有一个元素
InterruptedException(中断异常)
原因:一个线程在等待、休眠或占用某个资源时,被其他线程中断。
示例:Thread.sleep(1000); // 如果在睡眠期间调用了interrupt()
完结,撒花!求赞求关注。欢迎一起讨论IT,威:c_-j_-c