我是Java新手,并试图理解Java中的异常。Java中的例外
class MyException extends Exception {
void someMethod() {
doStuff();
}
void doStuff() throws MyException {
try {
throw new MyException();
}
catch(MyException me) {
throw me;
}
}
}
此程序会产生错误:
java:3: unreported exception MyException; must be caught or declared to be thrown
doStuff(); ^
try和catch块的doStuff()
方法中写入。另外doStuff()
方法“抛出”MyException
,那么为什么还需要在someMethod()
中丢掉MyException
呢?
多数民众赞成在这种情况下,你抛出异常 – 2011-04-14 01:24:01
只是一个说明...检查异常几乎是一个Java idiosynchrasy:他们不*在OOA/OOD水平存在,并有很多语言完成很好**那个“概念”。有些人甚至认为检查异常是:* a)*荣耀的GOTO语句,* b)*应该被排除在语言之外的Java错误,* c)*不惜一切代价避免(* Spring *框架浮现在脑海中,但它远非唯一)。你还有一大堆在JVM之上运行的语言,它决定让这个“特性*出语言......例如 – SyntaxT3rr0r 2011-04-14 08:46:42
...... 250 000中等代码库,在这里我们没有定义一个单一的checked异常和我们没有抛出单个检查异常的地方。所以,你需要阅读关于检查异常的内容。 :) – SyntaxT3rr0r 2011-04-14 08:48:14