翁恺java讲义概要(十二)

1>Catch all kind of exception
一个捕捉任何异常的捕捉器是一个捕捉基本类型的捕捉器。
catch(Exception e){
System.out.println("caught an exception");
}
2>Interface:Throwable
String getMessage();
String toString();
void printStackTrace();
//这个异常在那抛出来的
void printStackTrace(PrintStream);
3>Re-throwing
catch(Exception e){
throw e;
}
关于fillInStackTrace();
也可以抛出一与接受到的异常不同的异常
4>Announce for exception
5>Override of exception
当你override一个方法,你只能申明和抛出不比它的父类版本中申明的异常多的异常。
通知客户程序员自己写的方法中可能抛出什么样的异常是一种文明的做法。
void f()throws tooBig.tooSmall,oldStyle
{
// Body off()}
如果你要从你的方法中抛出某种异常,你必须申明。
但是你可以撒谎申明你并不真正抛出的异常。
class A extends Exception{}
class B extends A{}

abstract class I{
void fevent() throws A;
void gent() throws B;
void hent();
}
class C extends Exception{}
class D extends B{}

interface II{
void fevent() throws C;
}
class CC extends I implements II
{
CC() throw A,C{ }
//hent() throws A;
}
5>finally 一定会执行的代码。
6》Run-time exception
if(t==null) throw new NullPointException;
Run-time exception 不需要主动throw
不需要申明
如果一个Run-time exception被系统throw后没有被catch,会导致呈现终止,并printStackTrace()
lunzi   2005-10-26 17:19:01 评论:0   阅读:2229   引用:0

发表评论>>

署名发表(评论可管理,不必输入下面的姓名)

姓名:

主题:

内容: 最少15个,最长1000个字符

验证码: (如不清楚,请刷新)

Copyright@2004-2010 powered by YuLog