Java千百问_04异常处理(007)_常见的java异常有哪些(非运行时)-阿里云开发者社区

开发者社区> ghost丶桃子> 正文

Java千百问_04异常处理(007)_常见的java异常有哪些(非运行时)

简介:
+关注继续查看

1、常见的java运行时异常有哪些


了解非运行时异常看这里:什么是java中的异常 
常见的运行时异常看这里:常见的运行时异常有哪些

我们所说的常见异常是jdk或者其他常用第三方jar中的异常,出现频次很高的异常。常见的非运行时异常(即检查异常,checked exception)包括:

  • 操作数据库异常:SQLException
  • 输入输出异常:IOException
  • 文件未找到异常:FileNotFoundException
  • 反射操作异常:ReflectiveOperationException
  • 类未找到异常: ClassNotFoundException

  • 方法未找到异常:NoSuchMethodException

  • 字段未找到异常:NoSuchFieldException
  • 非法访问权限异常:IllegalAccessException
  • 实例化异常:InstantiationException
  • 不支持克隆异常:CloneNotSupportedException

  • 被中止异常:InterruptedException


2、什么情况下会抛出这些异常

如何抛出异常看这里:java如何抛出异常

1.java.lang.SQLException

该异常的解释是:sql异常。 
sql语句异常种类十分多,通常都是sql语句、数据库执行错误导致,常见的表现有:

  • invalid column name 无效列名
  • table or view does not exist 表或者视图不存在
  • cannot insert NULL into () 不能将空值插入
  • 缺少表达式
  • SQL 命令未正确结束

在操作数据库时需要考虑全面,尽量避免该异常。

2.java.lang.IOException

该异常的解释是:输入输出异常。 
该异常种类也十分多(拥有很多子类),尤其对文件的操作,以及Android开发。常见的表现有:

  • FileNotFoundException 文件找不到。
  • InvalidPropertiesFormatException 输入内容不符合属性集的正确 XML 文档类型。

3.java.lang.FileNotFoundException

该异常的解释是:文件不存在异常。该异常继承于 IOException。 
这个异常通常是获取文件时,文件路径或文件名称错误导致的。

4.java.lang.ReflectiveOperationException

该异常的解释是:反射操作相关的异常。 
由于反射的特殊性,类、方法、属性均使用String作为名称进行操作,对于该类异常一定要十分注意。 
了解反射看这里:什么是Java中的反射

5.java.lang.ClassNotFoundException

该异常的解释是:指定的类不存在。该异常继承于ReflectiveOperationException。 
这个异常通常是在使用反射时,或者服务端引入jar包时抛出。 
使用反射时,根据类名(字符串)获取Class时,包、类名有误会造成该异常。

6.java.lang.NoSuchMethodException

该异常的解释是:指定的方法不存在。该异常继承于ReflectiveOperationException。 
这个异常通常是在使用反射时抛出。 
使用反射时,根据方法名(字符串)调用Method时,方法名有误会造成该异常。

7.java.lang.NoSuchFieldException

该异常的解释是:指定的字段不存在。该异常继承于ReflectiveOperationException。 
这个异常通常是在使用反射时抛出。 
使用反射时,根据字段名(字符串)获取、操作Field时,字段名有误会造成该异常。

8.java.lang.IllegalAccessException

该异常的解释是:没有访问权限。 
当应用程序要调用一个类,但当前的方法即没有对该类的访问权限便会出现这个异常。 
最常见的地方即在使用反射调用private方法/属性时会抛出该异常,将private方法/属性共有化public即可。 
想了解public和privite看这里:public、privite、protected有什么区别

9.java.lang.InstantiationException

该异常的解释是:实例化异常。该异常继承于ReflectiveOperationException。 
当试图通过newInstance()方法创建某个类的实例,而该类是一个抽象类或接口时,抛出该异常。

10.java.lang.CloneNotSupportedException

该异常的解释是:不支持克隆异常。该异常继承于 ReflectiveOperationException。 
当没有实现Cloneable接口或者不支持克隆方法时,调用其clone()方法则抛出该异常。

11.java.lang.InterruptedException

该异常的解释是:被中止异常。 
当某个线程处于长时间的等待、休眠或其他暂停状态,而此时其他的线程通过Thread的interrupt方法终止该线程时抛出该异常。


原文地址:http://blog.csdn.net/ooppookid/article/details/51132413

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
存储引擎常见batchwrite写优化
# 引言 做有竞争力的存储系统迟早会遇到需要性能瓶颈,本文简单记录一些batchwrite常见朴素优化思想,以防哪天我们需要完成这方面的工作,可以翻出来看看,借鉴一下人家的思想 本文不做代码层面探讨,可自行阅读链接中给出的代码。
434 0
java常见异常集锦
1. java.lang.nullpointerexception  这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。
982 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
12063 0
Java 编程中关于异常处理的 10 个最佳实践
异常处理是Java 开发中的一个重要部分。它是关乎每个应用的一个非功能性需求,是为了处理任何错误状况,比如资源不可访问,非法输入,空输入等等。
755 0
从零开始入门 K8s:理解容器运行时接口 CRI
CRI 是 Kubernetes 体系中跟容器打交道的一个非常重要的部分。本文作者主要分为三个部分来进行:首先会为大家介绍 CRI 接口的一个由来和它的设计;其次会和大家分享目前有哪些 CRI 的实现;最后会给大家介绍一下相关的工具有哪些。
774 0
1955
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载