异常处理

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。

异常处理:

常见异常:

java.lang.NullPointerExcption 空指针

是因为你的变量指向的空内存

java.lang.ArrayIndexOutOfBoundsException 数组越界

java.lang.ClassNoFoundException 找不到类

1.要么你就是写错类名

2.你没有添加它需要的jar包

java.lang.NoClassDefFoundError 虚拟机报出找不到类文件

java.lang.NoSuchMethodError 找不到对应方法

java.lang.NoSuchMethodException 找不到方法

今后见到这个错误,基本上是版本的问题

java.lang.NoSuchFieIdException 找不到属性

java.lang.NoSuchFieIdError 找不到属性

java.lang.ArithmeticException 除数不能为零

java.lang.NumberFormatException 数值类型转换错误

java.lang.UnsupportedClassVersionError 类版本错误

高版本的jvm做编译,低版本的jvm运行

java.lang.OutOfMemoryError 虚拟机内存不足

虚拟机内存是有限度的。Java启动起来不可能占用电脑的所有内存的,从jmc飞行器能看到你的java内存占用多少内存,java里能申请的一些变量的内存大概是一个G左右

就好比申请两个G的内存是申请不上的

如何括大一点内存?如下图:

在运行配置这里加一个参数

异常处理_第1张图片

在VM这里加上4个G就够了

异常处理_第2张图片

在dos里运行如何加内存呢?如下图:

捕获异常: Try{}catch(){}

Try里面一旦出错,就会找陷阱,如果没有匹配它的陷阱就向外找

如下图:在正确的代码部分只要发现一个有问题,将会跳入到对应的陷阱中处理

异常处理_第3张图片

就好比发生一个空指针错误,你的catch就是接收你这个错误的,这就是把这个错误捕获下来了

异常处理_第4张图片

异常家族: 异常超级父类是java.lang.Throwable

运行时的错误RuntimeException

专门报程序上的错误java.lang.Excption

虚拟机帮你来报错java.lang.Error

范围陷阱(jdk1.7版本支持)

如下图:如何写范围陷阱,报空指针或者不能被零整除或者数组越界异常都能捕获

异常处理_第5张图片

通用陷阱(使用父类做陷阱类型,能够吸纳此类下的所有子类异常)

异常处理_第6张图片

你可能感兴趣的:(异常处理)