1.通过一个简单的例子演示一下异常。
1. 字符串转换成整数
Integer 是 int 的封装类。
Exception in thread "main" java.lang.NumberFormatException: For input string: "hello" 在主方法中程序出现异常,错误信息是数字格式异常:输入的字符串hello
错误堆栈信息
错误出现在main函数的第7行代码中
异常,例外 线程(程序)
【解决方法】为了避免这种错误,我们用try...catch解决
try块中,是可能会引起错误的代码
catch块中,是发生错误以后,需要执行的代码。
有的错误必须要处理。
Unhandled exception type ClassNotFoundException 没处理的异常:类没找到错误
解决办法:1.surround 包围 用try ...catch
2.throws 扔掉不处理
第二节
2.什么是异常
程序运行中出现的,导致程序无法正常运行的错误,叫做异常
异常的父类Throwable
Ctrl + T 显示继承关系
Throwable 主要有两个子类
1.Error (一般是JVM运行中出现了问题,不用处理,也没法处理) JVM=Java Virtual Machine 虚拟机
2.Exception
子类分为两种,其中一种叫做RuntimeException(又有很多子类,也不用管),这种错误可以处理,也可以不处理。
另外一种叫做非RuntimeException(好几百种,不用管)
RuntimeException 可以try catch,也可以不try catch
非RuntimeException 必须的try catch
演示类的继承关系图。
RuntimeException
1.NullPointerException(空指针异常)
2.IndexOutOfBoundsException(数组下标越界异常) ArrayIndexOutOfBoundsException【举例如下】
3.NumberFormatException(数据格式异常)
4.ClassCastException(类型转换异常)
5.IllegalArgumentException(非法参数异常)
6.ArithmeticException(算术异常)
7.IllegalStateException(非法语句异常)
非RuntimeException
ClassNotFoundException(类找不到异常)
第三节
3.抛出异常与处理异常
try catch finally
以及多个catch块的情况
4.自定义异常
用处不大,暂不讲解。