捕获违例
选择捕获违例意味着你的程序中必须存在有catch程序块,而且参数ExceptionType的类型必须是被掷出违例的类型,或者是其某一继承链中的超类(supperclass)(6)。
声明违例
如果在方法中会产生检查违例,但你又未在此方法中提供此违例的违例控制,那么你就必须声明此方法可能会掷出某特定违例,利用关键字throws就可以达到此目的。语法结构为(只列出方法的签名signature部分):
methodName(paramType param) throws ExceptionType
到底方法中会掷出哪些违例呢?
它包括你的方法中本身代码掷出的违例,你调用的方法掷出的违例,甚至还包括你调用的方法中调用的其他方法掷出的违例,等等。总之,只要控制流还在你的方法范围内,所有掷出的违例都是你必须考虑的。
实例代码
/**
*
Title:Except1.java
*
Description: Tested using JDK1.4.0 under Win2000 Professional
* @author Mac
* @version 2002/9/9
*/
import java.lang.Thread;
class Except1
{
public static void main(String[] args)
{
Except1 obj = new Except1();
try
{ //begin try block
obj.myMethod();
}
catch(InterruptedException e)
{
System.err.println(“Handle exception here”);
} //end catch block
} //end main
void myMethod() throws InterruptedException
{
Thread.currentThread().sleep(1000);
} //end myMethod
} //end class Except1
在上面这个例子中,我们看到myMethod方法只是简单地声明自己会产生一个名为InterruptedException的违例(throws InterruptedException