首页 > 编程语言 >Java常见的10个异常

Java常见的10个异常

时间:2024-10-20 21:11:40浏览次数:1  
标签:10 return 查看 常见 throws 点击 Java 异常 public

1.NullPointerException

空指针异常,当操作一个 null 对象的方法或属性时会抛出这个异常。是一个很头疼的异常,因为它是运行时异常,不需要手动捕获,但运行时碰到这个异常会中断程序。

2.OutOfMemoryError

 内存溢出异常,这不是程序能控制的,当需要分配的对象的内存超出了当前最大的堆内存,需要调整堆内存大小(-Xmx)以及优化程序。

3.IOException

IO,即:Input、Output,我们在读写磁盘文件、网络内容的时候经常会生的一种异常,这种异常是受检查异常,需要进行手工捕获。

比如读写文件是需要抛出异常:

点击查看代码
public int read() throws IOException
public void write(int b) throws IOException

4.FileNotFoundException

找不到文件异常,如果文件不存在就会抛出这种异常。

如定义输入输出文件流,文件不存在会报错:

点击查看代码
public FileInputStream(File file) throws FileNotFoundException
public FileOutputStream(File file) throws FileNotFoundException

FileNotFoundException 其实是 IOException 的子类,同样是受检查异常,需要进行手工捕获。

5.ClassNotFoundException

 类找不到异常,Java开发中经常遇到的一种异常,这是在加载类的时候抛出来的,即在类路径下不能加载指定的类。它是受检查异常,需要进行手工捕获。

点击查看代码
public static <T> Class<T> getExistingClass(ClassLoader classLoader, String className) {
  try {
     return (Class<T>) Class.forName(className, true, classLoader);
  }
  catch (ClassNotFoundException e) {
     return null;
  }
}

6.ClassCastException

类转换异常,将一个不是该类的实例转换成这个类就会抛出这个异常。

如将一个数字强制转换成字符串就会报这个异常:

点击查看代码
Object x = new Integer(0);
System.out.println((String)x);

7.NoSuchMethodException

未找到方法异常,一般发生在反射调用方法的时候:

点击查看代码
public Method getMethod(String name, Class<?>... parameterTypes)
    throws NoSuchMethodException, SecurityException {
    checkMemberAccess(Member.PUBLIC, Reflection.getCallerClass(), true);
    Method method = getMethod0(name, parameterTypes, true);
    if (method == null) {
        throw new NoSuchMethodException(getName() + "." + name + argumentTypesToString(parameterTypes));
    }
    return method;
}

8.IndexOutOfBoundsException

索引越界异常,当操作一个字符串或者数组的时候经常遇到的异常。

9.ArithmeticException

算术异常,发生在数字的算术运算时的异常,如一个数字除以 0 就会报这个错。

此异常虽然是运行时异常,可以手工捕获抛出自定义的异常,如:

点击查看代码
public static Timestamp from(Instant instant) {
    try {
        Timestamp stamp = new Timestamp(instant.getEpochSecond() * MILLIS_PER_SECOND);
        stamp.nanos = instant.getNano();
        return stamp;
    } catch (ArithmeticException ex) {
        throw new IllegalArgumentException(ex);
    }
}

10.SQLException

SQL异常,发生在操作数据库时的异常。

如下面的获取数据库连接时:

点击查看代码
public Connection getConnection() throws SQLException {
    if (getUser() == null) {
        return DriverManager.getConnection(url);
    } else {
        return DriverManager.getConnection(url, getUser(), getPassword());
    }
}

标签:10,return,查看,常见,throws,点击,Java,异常,public
From: https://www.cnblogs.com/fangbianmian/p/18487904

相关文章

  • 10.20 闲话
    从初中开始的很长很长一段时间,我的所有OI相关账号的签名都是"JustGoForOI!"或"CJOIerJustGoForOI!"这两句。这大概反映了我当初对于OI的态度是不思考训练的意义,不去想未来的方向,不理会文化课或者或者人际上的一些琐事,全心全意地按照教练的要求去做就行了。至于当......
  • java真的正在越来越失去竞争力了吗
    题记:java真的在越来越失去竞争力了吗?最近参加校招面试,过程中有问道java的问题,有的同学很直接了当(或者是不假思索)地说,java已经过时了吧,现在学java的人越来越少了。那么事实真的这样的吗,今天这篇博文咱们就来客观地谈一谈。我不知道该如何去定义“越来越”这个词,咱们用数据说......
  • 【趣学C语言和数据结构100例】
    【趣学C语言和数据结构100例】问题描述51.在一个递增有序的单链表中,存在重复的元素。设计算法删除重复的元素,例如(7.10.10.21.30.42.42.42.51.70)将变为(7.10.21.30.42.51.70)。52.设A和B是两个单链表(带头结点),其中元素递增有序。设计一个算法从A和B中的公共元素产......
  • java异常相关
    java中有定义很多异常,而且列举异常这也是java面试中的常见的问题在java中我见过的比较多的异常粗略列举10个:1首先是java中最常见的异常:NPE(NullPointException)在各种传参和解析的操作都有可能存在。一般的应对的方法就是做参数校验;2其次是另一个出现的比较的多的:ClassCastE......
  • java中常见的异常以及解决方法
    Java的异常体系是基于类java.lang.Throwable的。它有两个重要的子类:java.lang.Exception和java.lang.Error下图是java异常体系的基本结构:1、Throwable所有异常和错误的超类。有两个主要的子类:Exception和Error。2、Error>表示JVM无法处理的错误情况,通常是致命的,比如Ou......
  • 10.20程序员修炼之道读后感
    从序言中,我学到了不可替代的才叫经典,原则源于实践,高于实践这两个道理,令我感受颇深,我优先阅读的理应是经典,而我所缺乏的恰恰是实践前言中提到了编程需要专注,需要仔细思考,需要转变思考的方式,一切其实都可以是编程,开会,学习,吃饭,打游戏,思维打开来看,一切其实都可以是编程,我觉得虚拟世界......
  • 常见的运行时异常
    NullPointerException:当尝试访问一个空对象的成员或方法时抛出。解决方法:1、使用Objects.requireNonNull方法来提前抛出异常。2、使用Java8的Optional类来避免null值。3、在访问对象之前检查是否为null。ArrayIndexOutOfBoundsException:当试图访问数组中的一个不存在......
  • java 常见异常,及解决方案
    异常体系图常见异常:1、NullPointerException空指针异常:访问一个空对象的属性或者方法时会出现解决:提前进行判空处理2、IOExceptionIO流异常:IO,即:input,output,在读写磁盘文件、网络内容的时候经常会生的一种异常解决:捕获IOException并处理或重新抛出3、ClassNotFoundExc......
  • 黑马JavaWeb-day01
    Web:全球广域网,也称为万维网(wwwWorldWideWeb),能够通过浏览器访问的网站。web网站的工作流程:网页由哪些部分组成:文字、图片、音频、视频、超链接我们看到的网页背后的本质:前端代码前端代码是如何转化成用户眼中的网页?:通过浏览器的解析和渲染转化成用户看到的网页,浏览器......
  • 软件架构的10个质量属性
    原文链接:软件架构的10个质量属性–每天进步一点点一般地,对于软件系统的需求而言,分为两类:功能性需求和非功能性需求。软件系统的架构设计既要满足软件的功能性需求,还要满足软件的非功能性需求。特别地,系统架构对软件非功能性需求的支撑成为架构的质量属性。本文描述了软件的10......