OCA Java SE 7 Programmer I考试——Exception,Error

1) Exception的printStackTrace(),getmessage(),toString()方法之间的区别与联系

printStackTrace():输出第一行包含此对象的toString()方法的结果,剩余行表示以前由方法fillInStackTrace()记录的数据

getMessage():返回此Throwable 或者Exception的详细消息字符串

toString():如果此Throwable或者Exception对象是利用非空详细消息字符串创建的,则结果是三个字符串的串联,1)此对象的实际类的名称2)“:”3)此对象的getMessage()方法的结果。

2)Checked Exception 必须在编译期间就try{ }catch()捕获,否则编译不会通过

3)finally的执行

    遇到unchecked Exception ,finally均会被执行,遇到System.exit(0),finally将不会被执行

     如果在catch代码块中return 一个基础变量,finally()中的操作修改不了返回值

     如果在catch代码块中return一个对象,finally()针对对象的修改能修改返回值

     如果finally中也有return语句,try{} catch{} finally{} 会在finnally的return处结束

    int method()

     {

    int a=10;

    try{a++;}

    finally{

  a++;

    }

  return a;

      }

函数结果返回值12

int method()

     {

    int a=10;

    try{a++;

      return a;

}

    finally{

  a++;

    }

      }

函数结果返回值11

int method()

     {

    int a=10;

    try{a++; throw new Exception();}

catch(Exception e)

{

return a;

}

    finally{

  a++;

    }

      }

函数结果返回值11

int method()

     {

    int a=10;

    try{a++;

     return a;

   }

    finally{

  a++; 

return a;

    }

      }

函数结果返回值12

4) checked exception 是java.lang.Exception的子类,unchecked Exception是java.lang.RuntimeException的子类

5)  try{} catch(){}finally{}  finally{}代码块不能出现在catch{}块之前 ,并且catch到的Exception必须依次排放,子类在前,父类在后否则会compile Error,没有子父类关系的可不必计较前后。

6)常见的RuntimeException

ArrayIndexOutOfBoundsException,IndexOutOfBoundsException,ClassCastException,IllegalArgumentException,IllegalStateException,NullPointerException,NumberFormatException,NumberFormatException

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值