1.通过一个简单的例子演示一下异常。

1.  字符串转换成整数

  Integer 是 int 的封装类。

  Exception in thread "main" java.lang.NumberFormatException: For input string: "hello"    在主方法中程序出现异常,错误信息是数字格式异常:输入的字符串hello

  错误堆栈信息

spacer.gif

错误出现在main函数的第7行代码中

  异常,例外  线程(程序)

【解决方法】为了避免这种错误,我们用try...catch解决

 try块中,是可能会引起错误的代码

 catch块中,是发生错误以后,需要执行的代码。

  有的错误必须要处理。

spacer.gif

  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【举例如下】

spacer.gif

3.NumberFormatException(数据格式异常)

4.ClassCastException(类型转换异常)

5.IllegalArgumentException(非法参数异常)

6.ArithmeticException(算术异常)

7.IllegalStateException(非法语句异常)

非RuntimeException

ClassNotFoundException(类找不到异常)

第三节

3.抛出异常与处理异常

 try catch finally

 以及多个catch块的情况

4.自定义异常

 用处不大,暂不讲解。