声明:本栏目所使用的素材都是凯哥学堂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的内存是申请不上的 如何括大一点内存?如下图: 在运行配置这里加一个参数 在VM这里加上4个G就够了 在dos里运行如何加内存呢?如下图: 捕获异常: Try{}catch(){} Try里面一旦出错,就会找陷阱,如果没有匹配它的陷阱就向外找 如下图:在正确的代码部分只要发现一个有问题,将会跳入到对应的陷阱中处理 就好比发生一个空指针错误,你的catch就是接收你这个错误的,这就是把这个错误捕获下来了 异常家族: 异常超级父类是java.lang.Throwable 运行时的错误RuntimeException 专门报程序上的错误java.lang.Excption 虚拟机帮你来报错java.lang.Error 范围陷阱(jdk1.7版本支持) 如下图:如何写范围陷阱,报空指针或者不能被零整除或者数组越界异常都能捕获 通用陷阱(使用父类做陷阱类型,能够吸纳此类下的所有子类异常) |