先看看图, Exception就明白了

  

  关于异常 大体分为 不可查异常 可查异常 runtimeException三类~异常都继承throwable这个类~ 下面有error和Exception两大类~

不可查异常 为 error : 是由于系统错误`是无法恢复的`比如~你没显卡`怎么显示图像!是无法恢复的

~Exception 下为 可查异常和runtimeException两大类~可查异常是由于环境造成`是捕获处理的重点` 可以恢复的`

runtimeException~是由于你程序设计的有漏洞`比如 1/0~的情况~ 正确设计不会出现的` 一般不捕获或处理~

main()方法throws出   异常  会由jvm 虚拟机处理~   其实就是jvm终止你线程~

1.   ArithmeticException - 算术运算中,被0除或模除。

2、ArrayIndexOutOfBoundsException - 数组越界访问。

3、ArrayStoreException - 数据存储异常,写数组操作时,对象或数据类型不兼容。

4、ClassCastException - 类型转换异常。

5、IllegalArgumentException - 方法的参数错误 无效。

6、IllegalThreadStateException - 试图非法改变线程状态,比方说试图启动一已经运行的线程。

7、NullPointerException - 试图访问一空对象的变量、方法或空数组的元素("程序遇上了空指针",因为调用了未经初始化的对象或者是不存在)

8、NumberFormatException - 数据格式异常,试图把一字符串非法转换成数值(或相反)。

9、SecurityException - 如果Applet试图执行一被WWW浏览器安全设置所禁止的操作。

10、IncompatibleClassChangeException - 如改变了某一类定义,却没有重新编译其他引用了这个类的对象。如某一成员变量的声明被从静态改变为非静态,但其他引用了这个变量的类却没有重新编译,或者相反。

11、OutOfMemoryException - 内存不足,通常发生于创建对象之时。

12、NoClassDefFoundException - JAVA运行时系统找不到所引用的类。

13、IncompatibleTypeException - 试图实例化一个接口,Java运行时系统将抛出这个异常。

14、UnsatisfiedLinkException - 如果所需调用的方法是C函数,但Java运行时系统却无法连接这个函数。

15、InternalException - 系统内部故障所导致的异常情况,可能是因为Java运行时系统本身的原因。如果发现一可重现的InternalException,可以直接给Sun公司发电邮java@java.Sun.com。

16.   java.lang.classnotfoundexception 解释是"指定的类不存在",这里主要考虑一下类的名称和路径是否正确即可。

17.

Exception分为两类:运行期异常  和 非运行期异常

java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。

A:NullPointerException:对象的值是null
举例:调用Person类的show方法
Person p = null;
p.show();

B:ClassCastException:类型转换异常
举例:在多态中常见
Animal a = new Dog();
Cat c = (Cat)a;

C:NoSuchElementException:没有这个元素异常
举例:在迭代器中,已经访问到元素的末尾了,你还在继续访问。
Iterator it = array.iterator(); //只有两个元素
System.out.println(it.next());
System.out.println(it.next());
System.out.println(it.next()); //NoSuchElementException

D:IndexOutOfBoundsException:
举例:指示某排序索引(例如对数组、字符串或向量的排序)超出范围时抛出。

E:ArrayIndexOutOfBoundsException:数组索引越界异常

举例:访问数组时,索引越界
int[] arr = {1,2,3};
System.out.println(arr[3]);

F:NumberFormatException:数据格式化异常
举例:把一个非数字字符串转换成数字类型
int num = Integer.parseInt("abc");

G:ClassNotFoundException:找不到类的异常
举例:路径不对的时候。

H:FileNotFoundException:找不到文件异常
举例:在读取文件的时候,文件不存在。
FileReader fr = new FileReader("fr.txt");

I:ConcurrentModificationException:并发修改异常
举例:在使用迭代器迭代数据的过程中,你又使用集合对象去操作元素。

java 常用异常及作用的更多相关文章

  1. Java常用异常整理

    填坑,整理下Java的常用异常.正确使用异常在实际编码中非常重要,但面试中的意义相对较小,因为对异常的理解和应用很难通过几句话或几行代码考查出来,不过我们至少应答出三点:异常类的继承关系.常用异常类. ...

  2. JAVA常用异常类

    算数异常类:   ArithmeticExecption 空指针异常类:    NullPointerException 指定类不存在:    ClassNotFoundException 字符串转换 ...

  3. java的异常

    下面是我对Java异常知识的几个小总结,也算是资源回收一下 一.Java异常的知识 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的.比如说,你的代码少了一个分号,那么运 ...

  4. paip.Java Annotation注解的作用and 使用

    paip.Java Annotation注解的作用and 使用 作者Attilax 艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog. ...

  5. JAVA(三)JAVA常用类库/JAVA IO

    成鹏致远 | lcw.cnblog.com |2014-02-01 JAVA常用类库 1.StringBuffer StringBuffer是使用缓冲区的,本身也是操作字符串的,但是与String类不 ...

  6. JAVA中异常状况总结

    之前在<会当凌绝顶>这本书中学到过对于异常处理的知识,当时也是根据书上的代码,自己进行编写大概知道是怎么回事儿,王老师给我们上了一节课之后,发现异常处理可以发挥很大的作用.  通过在网络上 ...

  7. JAVA常用单词

    柠檬学院Java 基础常见英语词汇(共 70 个)OO: object-oriented ,面向对象 OOP: object-oriented programming,面向对象编程JDK:Java d ...

  8. java常用英语单词

    abstract (关键字) 抽象 ['.bstr.kt] access vt.访问,存取 ['.kses]'(n.入口,使用权) algorithm n.算法 ['.lg.riem] annotat ...

  9. Java常用英语汇总(面试必备)

    Java常用英语汇总(面试必备) abstract (关键字)             抽象 ['.bstr.kt] access                            vt.访问,存 ...

随机推荐

  1. django外使用django ORM

    import os, sys import django BASE_DIR = os.path.dirname(os.path.abspath(__file__)) # 定位到你的django根目录 ...

  2. 建议使用nginx配合uwsgi,

    试试gunicorn+supervisor+nginx. gunicorn是Python实现的的Web server,配置也比较简单. supervisor也是Python实现的,它用于进程管理. 这 ...

  3. Spring Boot 2 (五):Docker Compose + Spring Boot + Nginx + Mysql 实践

    Spring Boot 2 (五):Docker Compose + Spring Boot + Nginx + Mysql 实践 Spring Boot + Nginx + Mysql 是实际工作中 ...

  4. The POM for XXX is invalid, transitive dependencies (if any) will not be available解决方案

    今天,某个开发的环境在编译的时候提示警告The POM for XXX is invalid, transitive dependencies (if any) will not be availab ...

  5. rocketmq安装与基本操作

    如果不是因为政治原因,就rocketmq的社区活跃度.版本.特性和文档完善度,我是无论如何也不会使用rocketmq的. rocketmq严格意义上并不支持高可靠性,因为其持久化只支持异步,有另外一个 ...

  6. Net SMTP QQ 发送邮件

    调用DEMO var currUser = new List<string> { "123@qq.com" , "123@qq.com" , &qu ...

  7. win10 实现 iPad AVplayer 搭建 ftp 共享 PC 端

    1.首先是 iPad 端直接去 App Store 下载 AVplayer 即可,我下载的时候这个APP收费 18 元.这个app内置了加速播放视频的功能,非常适合学习时使用. 2.PC 端搭建 ft ...

  8. Python3基础 list list()生成空列表

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  9. Git冲突与解决方法【转】

    本文转载自:https://www.cnblogs.com/gavincoder/p/9071959.html Git冲突与解决方法 1.git冲突的场景 情景一:多个分支代码合并到一个分支时: 情景 ...

  10. selinux 设置的彻底理解 并要 熟练经常的使用

    只需要参考这篇文章就好了: http://www.jishux.com/plus/view-631994-1.html 注意 在linux中 两个术语 的严格区分和使用: 改变: change; 改变 ...