【Java】 第四章 异常处理 Notes learn Ma

来源:互联网 发布:三维角色动画软件 编辑:程序博客网 时间:2024/05/18 06:15
第四章 异常处理
听说过 IIS 缓冲区溢出漏洞问题吧!
C++ 要交5个月。 java 教 3个月!
C++ 比 java 难 60%
  java - 运行期异常,不是javac, 程序是调出来的。

          java帮助你检查数组下标越界的错误。不比C+。

  出错了给用户一个友好的提示。不要给用户看程序员的专业术语。说一些比较友好的东西。
  
  * Java 异常是 Java 提供的用于处理程序中错误的一种机制。
  
java.lang....Exceptions
写程序有问题要有友好界面
 医生开单子 {
  1, 鼻腔内感觉异常
  2, 体温持续升高
  3, 分泌乳白色液体
  直接说感冒不就得了么?
 }
e.printStackTrace(); 非常好!给程序员读。堆栈信息都打印出来!  
java.lang.Throwable { 开车在上山走,
  1, Error         山爆发 JVM 出问题。
  2, Exception {   你可以处理的 -- 刹车坏啦!修好再走。。。
   1, ...
   2, RuntimeException  (经常出,不用逮) 压路面上的小石子
  }

File  可能抛出 空指针异常,其实就是 构造方法。
其他流类 read() 方法 可能会抛出异常。

catch 抓住某种异常之后,该怎么办怎么办。

  * Throwable 可以被抛出的东西。所有异常类的老祖宗。根类。是类。
* Error 我们管不了。虚拟机出错。
* Exception 你能够处理的错误。
   * RuntimeException 可以catch,也可以不抓。开车小石子。不用捡,也可以不捡。
 运行时系统是最高人民法院了。
 * ArithmeticException
 * NullPointException

   * IOException 等异常,你必须要抓...

           * ......

 
   一个 try 可以跟多个catch
 所以 { 一个茶壶可以跟多个茶碗,一个男人可以三妻四妾。}
 try {
  // 可能抛出异常的语句
  语句一;
  语句二;
 } catch(someEx e) {
  语句;
  }
  catch() {
  语句
  }
  finally {
  }
  一 : 打开
  二 : 关闭
  finally : 一般进行资源的清除工作。。。!如:关闭打开的文件,删除临时文件。
 
  我处理不了的事情 : 我交给上一级部门去处理!
  当时 catch 到 Ex 的时候,你至少要做出一种处理。要不那是危险的编程习惯!
  main() 抛出 就是交给 java 运行时系统啦! 它会把堆栈信息打出来!
 
void f() throws FileNotFoundException , IOException 如果你把动物都扔出来了,那么一只狗还跑的了么。

  《异常处理》总结 :一个图 : 五个关键字 {
  try, catch, finally, throw, throws
   }

  先抓小的再抓大的。 注意错误   先逮大的,后逮小的,报错。

  使用自定义异常
 
  程序中可以使用 throw - 方法后 throws
  如果throw抛出异常之后,方法就结束啦!

 
  注意 : 重写方法需要抛出与原方法所抛出异常类型一致异常或不抛出异常。
 
  * 总结 :{
  * 一个图
  * 五个关键字
  * 先逮小的,再逮大的。
  * 异常与重写的关系
  }
0 0