java常见的异常

在Java编程中,异常(Exceptions)是指在程序执行过程中发生的意外或错误情况。Java中的异常分为两类:受检异常(Checked Exceptions)和非受检异常(Unchecked Exceptions)。

以下是Java中常见的异常类型:

受检异常(Checked Exceptions):

IOException(输入/输出异常):包括各种与输入/输出操作相关的异常,例如文件读写时的错误。

EOFException(文件结束异常):在尝试读取数据流的末尾时抛出。

FileNotFoundException(文件未找到异常):当试图打开一个不存在的文件时抛出。

MalformedURLException(URL格式错误异常):在尝试创建URL对象时,如果URL的格式不正确就抛出。

SocketException(套接字异常):与网络编程相关,发生网络错误时抛出。

SSLException(SSL异常):在使用SSL(安全套接字层)时发生错误时抛出。

ParserConfigurationException(解析器配置异常):在XML解析过程中,如果解析器配置不正确就抛出。

SAXException(SAX解析异常):在SAX(Simple API for XML)解析过程中发生错误时抛出。

TransformerException(转换器异常):在XML转换过程中发生错误时抛出。

InvalidKeySpecException(无效的密钥规范异常):在密钥规范无效时,尝试生成密钥时抛出。

NamingException(命名异常):在JNDI(Java命名和目录接口)操作中发生错误时抛出。

SQLException(SQL异常):在数据库操作中发生错误时抛出。

PrintException(打印异常):在打印过程中发生错误时抛出。

InterruptedException(中断异常):在线程等待时被中断抛出。

ClassNotFoundException(类未找到异常):当试图加载类但类不存在时抛出。

CloneNotSupportedException(不支持克隆异常):当对象的clone()方法被调用,但该对象的类并没有实现Cloneable接口时抛出。

InstantiationException(实例化异常):在使用Java反射机制创建对象实例时,如果指定的类不能被实例化,则抛出该异常。

IllegalAccessException(非法访问异常):在使用Java反射机制调用方法、访问字段等时,如果没有足够的权限,则抛出该异常。

UnsupportedEncodingException(不支持的编码异常):当试图使用不支持的字符编码进行字符串转换时抛出。

NoSuchMethodException(方法未找到异常):在试图通过反射调用一个不存在的方法时抛出。

NoSuchFieldException(字段未找到异常):在试图通过反射访问一个不存在的字段时抛出。

DatatypeConfigurationException(数据类型配置异常):在JAXB(Java Architecture for XML Binding)操作中,当试图处理与数据类型相关的配置时抛出。

DatagramProtocolException(数据报协议异常):在使用UDP协议时,当发生与数据报协议相关的错误时抛出。

TooManyListenersException(监听器过多异常):在试图添加超过允许数量的事件监听器时抛出。

DatagramSizeException(数据报大小异常):在使用UDP协议时,当试图发送大于允许大小的数据报时抛出。

LineUnavailableException(线路不可用异常):在尝试打开不可用的音频设备(例如麦克风或扬声器)时抛出。

InvalidObjectException(无效对象异常):在试图反序列化一个无效对象时抛出。

InvalidClassException(无效类异常):在试图反序列化一个与当前类不匹配的对象时抛出。

ObjectStreamException(对象流异常):是InvalidObjectException和InvalidClassException的父类,用于表示与对象流相关的异常。

SQLDataExceptionSQL数据异常):在数据库操作中,当处理与SQL数据相关的异常时抛出。

SQLFeatureNotSupportedException(不支持的SQL特性异常):当试图使用不支持的SQL特性时抛出。

SQLIntegrityConstraintViolationExceptionSQL完整性约束违规异常):在数据库操作中,当试图违反完整性约束(例如唯一键或外键)时抛出。

SQLSyntaxErrorExceptionSQL语法错误异常):在数据库操作中,当SQL语句的语法不正确时抛出。

SQLTimeoutExceptionSQL超时异常):在数据库操作中,当操作超时时抛出。

SQLTransactionRollbackExceptionSQL事务回滚异常):在数据库操作中,当事务回滚失败时抛出。

UnsupportedCallbackException(不支持的回调异常):在使用Java身份验证服务提供回调时,如果提供程序不支持指定的回调类型,则抛出该异常。

非受检异常(Unchecked Exceptions):

StringIndexOutOfBoundsException(字符串索引越界异常):例如,当尝试访问字符串中不存在的字符位置时抛出。

IllegalStateException(非法状态异常):例如,当对象的状态不适合进行方法调用时抛出。

NegativeArraySizeException(负数组大小异常):例如,当尝试创建一个负大小的数组时抛出。

SecurityException(安全异常):例如,当试图执行需要特定权限的操作而没有权限时抛出。

NullPointerException(类型不匹配异常):例如,当试图将对象强制转换为不相关的类型时抛出。

IllegalThreadStateException(非法线程状态异常):例如,在尝试对处于不允许状态的线程执行操作时抛出。

NoClassDefFoundError(未找到类定义错误):例如,当尝试加载某个类,但该类的定义找不到时抛出。

NoRouteToHostException(无法连接到主机异常):例如,在网络通信中,当无法找到到达目标主机的路由时抛出。

StringBufferIndexOutOfBoundsException(字符串缓冲区索引越界异常):类似于StringIndexOutOfBoundsException,但通常与StringBuffer或StringBuilder操作相关。

ArithmeticException(算术异常):例如,除数为零时抛出。

NullPointerException(空指针异常):例如,当试图在一个空对象上调用方法或访问属性时抛出。

ArrayIndexOutOfBoundsException(数组索引越界异常):例如,当试图访问数组中不存在的索引时抛出。

IndexOutOfBoundsException(索引越界异常):该异常是ArrayIndexOutOfBoundsException的父类,表示索引超出了范围。

ClassCastException(类转换异常):例如,试图将一个对象强制转换为不是其子类的类型时抛出。

IllegalArgumentException(非法参数异常):例如,方法接收到了不合法的参数时抛出。

NumberFormatException(数字格式异常):例如,当字符串转换为数字类型时,如果字符串的格式不合法就抛出。

UnsupportedOperationException(不支持的操作异常):例如,当试图调用一个对象不支持的方法时抛出。

ConcurrentModificationException(并发修改异常):例如,在使用迭代器遍历集合的同时,修改了集合的结构,会抛出该异常。

StackOverflowError(栈溢出错误):例如,当方法调用层次太深,栈空间不足时抛出。

OutOfMemoryError(内存溢出错误):例如,当程序尝试分配的内存超过了JVM的限制时抛出。

AssertionError(断言错误):例如,当assert语句失败时抛出。

Error(错误):Error类及其子类表示严重的错误,通常无法通过代码处理,例如VirtualMachineError、InternalError等。

posted on 2023-10-21 10:32  Daniel350  阅读(41)  评论(0编辑  收藏  举报