A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 高廷平 中级黑马   /  2012-10-7 13:26  /  1140 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package myclassroomtest;
/*
异常:程序中出现的问题,不处理遇到异常程序结束
      在JAVA中对异常进行了分类,封装了异常的类型
      信息,出现位置。常见如:被0除,数组越边界
       空指针异常等。
      父类:Exception  
  1.Throwable是异常和错误(error)的父类
   
  2.程序员只能处理Exception异常
  
  3.处理方式:抛出    捕获 取决于当前程序是否可以解决
  
  4.捕获处理语法:
    try//异常捕捉块
    {
   
    }
    catch(Exception e)//异常处理块,只有异常发生了才会执行
    {
   
    }
    ...//可以有多个catch语句,注意异常的级别,
       //若前面的是父类Exception捕获,后面的
        //子类异常catch执行不到
    finally //不论异常是否发生 ,都会被执行,可以做一些关闭资源的操作
    //exit(0)时执行不到,return也会执行到
    {
   
    }
   
   5.抛出
      throw   抛出异常对象
      throws  声明可能抛出的异常,让调用者去处理
      
   6.为什么不用if判断处理?
       这样将逻辑代码块和异常代码块混合在一起,不利于开发和维护
    7. 异常分类:
        编译异常   
        运行异常  RuntimeException及其子类  由JVM处理   如:运算异常  空指针异常  数组下标越界
*/
public class MyTest03
{
public static void main(String [] args)
{
  try{
   System.out.println(5/0);//被0除异常
   System.out.println("前面若有异常,我也会挂了,我们是一块的啊!呜呜");
   //异常块(仅限同一块中的)中异常后面的语句是不会被执行到的
  }catch(Exception e){
   e.printStackTrace();
  }finally{
   System.out.println("程序结束!");//除了在catch中exit(0)退出程序外,总会被执行到
  }
  System.out.println("前面有异常,与我无关!我和它不是一块的!嘿嘿");
}
}

评分

参与人数 1技术分 +1 收起 理由
王海宇 + 1

查看全部评分

2 个回复

倒序浏览
嗯,总结的十分好啊.
回复 使用道具 举报
我学过的都总结到了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马