java 异常体系与异常处理

异常体系

1.      运行时异常

ArithmeticException>算术异常   -

Eg: 

NullPointerException>空指针异常-一个为null的东西-调用方法或属性

ArrrayIndexOutOfBoundsException> 索引超出指定范围

ClassCastException>发生在强制转型

IllegalArgumentException>参数非法

2.      编译时异常

FileNotFoundException

3.      错误

Error:错误-程序设计问题

OutOfMemoryError>堆内存溢出

内存占用:1、000、000、000x4=4、000、000、000B

内存占用:10、000、000、000x4=40、000、000、000B

因为总内存为:4x1024Mx1024KBx1024B=4、294、967、296B远小于40、000、000、000B,所以内存崩溃。

注意:垃圾自动回收机制>当占用的内存没有被使用时,系统会自动回收此内存空间。

-我不断创建按钮,但是内存占用基本不动。  

StackOverflowError>栈内存溢出

通过不断调用方法而不断进行压栈导致栈内存溢出。

*如何测栈的深度

 

异常处理

1.      try-catch-finally

程序的思路

程序进入try语句时,当遇见异常时转而进入catch语句时

注意:不要滥用try、catch语句,不能屏蔽需要报出来的异常

   * printStackTrace()方法的意思是:在命令行打印异常信息在程序中出错的位置及原因。(这是白话解释,比较容易理解)

Finally>最后-始终都会执行-关闭资源

2.      throw

修改代码后通过

原文地址:https://www.cnblogs.com/tutumissed/p/8276604.html