Java throwable不会编译
首先,我必须说,我读了以下内容: 我在尝试编译时遇到的错误如下:Java throwable不会编译,java,Java,首先,我必须说,我读了以下内容: 我在尝试编译时遇到的错误如下: TestException.java:14:错误:不兼容的类型 静态无效doRisky(字符串测试)抛出ScaryException ^ 必需:可丢弃 发现:ScaryException java:19:错误:不兼容的类型 抛出新的ScaryException(); ^ 必需:可丢弃 发现:ScaryException java:34:错误:不兼容的类型 捕获(ScaryException se) ^ 必需:可丢弃 发现:Scar
TestException.java:14:错误:不兼容的类型
静态无效doRisky(字符串测试)抛出ScaryException
^
必需:可丢弃
发现:ScaryException
java:19:错误:不兼容的类型
抛出新的ScaryException();
^
必需:可丢弃
发现:ScaryException
java:34:错误:不兼容的类型
捕获(ScaryException se)
^
必需:可丢弃
发现:ScaryException
3个错误
我假设错误消息给了我某种类型的提示,但我不知道它是什么
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");
}
}
Java异常必须扩展
Throwable
(可以直接扩展,也可以通过扩展Exception
或其子类间接扩展)。显然,您的ScaryException
类没有扩展。Java异常必须扩展Throwable
(可以直接扩展,也可以通过扩展Exception
或其子类间接扩展)。显然,您的ScaryException
类没有。要编译此文件,ScaryException
必须是扩展了可丢弃的
或其子类之一的类。ScaryException
根本不存在,或者它不扩展任何Throwable
的子类。要编译此文件,ScaryException
必须是扩展Throwable
的类或其子类之一。ScaryException
根本不存在,或者它不扩展任何Throwable
的子类。您的ScaryException
是否扩展了Throwable的子类?通常是java.lang.Exception
?您的ScaryException
是否扩展了throwable的子类?通常是java.lang.Exception
?最简单的方法是在ScaryException
的定义中添加“extends Exception”,如class ScaryException extends Exception
。当然,假设您没有用它做一些古怪的事情,比如重新发明异常处理最简单的方法是在ScaryException
的定义中添加“extends Exception”,就像class ScaryException extends Exception
一样。当然,假设您没有用它做一些古怪的事情,比如重新发明异常处理