【发布时间】:2013-03-05 20:45:10
【问题描述】:
首先我必须说我阅读了以下内容:http://docs.oracle.com/javase/tutorial/essential/exceptions/index.html!
我尝试编译时遇到的错误如下:
TestException.java:14: error: incompatible types
static void doRisky(String test) throws ScaryException
^
required: Throwable
found: ScaryException
TestException.java:19: error: incompatible types
throw new ScaryException();
^
required: Throwable
found: ScaryException
TestException.java:34: error: incompatible types
catch ( ScaryException se)
^
required: Throwable
found: ScaryException
3 errors
我假设错误消息给了我某种类型的提示,但我只是不明白它是什么。
import java.lang.*;
/** add this as to get it to compile */
class ScaryException extends Exception
{
/** how come I can't put code here? */
}
public class TestException {
static void doRisky(String test) throws ScaryException{
System.out.println ("start risky");
if ("yes".equals(test)) {
throw new ScaryException();
}
System.out.println("end risky");
}
public static void main(String [] args){
String test = "no";
try{
System.out.println("start try");
doRisky(test);
doRisky("yes");
System.out.println("end try");
}
catch ( ScaryException se){
System.out.println("Got What " + se);
}
finally{
System. out. println( "finally") ;
}
System.out.println("end of main");
}
}
【问题讨论】:
-
您的
ScaryException是否扩展了 throwable 的子类?通常是java.lang.Exception?
标签: java