凯哥学堂

搜索

凯哥学堂

异常处理

2017-11-29 17:38| 发布者: 可可| 查看: 2| 评论: 0|原作者: 追梦|来自: 凯哥学堂VIP17班

凯哥学堂 首页 资讯 学习笔记 Java基础 查看内容

声明:本栏目所使用的素材都是凯哥学堂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的内存是申请不上的

image

如何括大一点内存?如下图:
在运行配置这里加一个参数

image

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

image

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

image

捕获异常: Try{}catch(){}
Try里面一旦出错,就会找陷阱,如果没有匹配它的陷阱就向外找
如下图:在正确的代码部分只要发现一个有问题,将会跳入到对应的陷阱中处理

image

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

image

异常家族: 异常超级父类是java.lang.Throwable
运行时的错误RuntimeException
专门报程序上的错误java.lang.Excption
虚拟机帮你来报错java.lang.Error

image

范围陷阱(jdk1.7版本支持)
如下图:如何写范围陷阱,报空指针或者不能被零整除或者数组越界异常都能捕获

image

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

image


关注我们


微信

微博

QQ