Discussion:
[問題] 檢查錯誤
(时间太久无法回复)
never
2007-06-20 14:27:12 UTC
Permalink
public class Test20{
public static void main(String[] args){
try{
m();
n();
}
catch(Exception ex){
System.out.println("捉到例外:"
+ex.getMessage());
}
}
static void m(){
throw new RuntimeException("例外一");
}
static void n(){
throw new Exception("例外二");
}
}

不好意思請問一下,為什麼我執行完後錯的地方是throw new Exception("例外二");
這行呢?不太懂,有大大可以幫我解答一下嗎?感謝

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.229.15.52
c***@kkcity.com.tw
2007-06-20 16:34:38 UTC
Permalink
Post by never
public class Test20{
public static void main(String[] args){
try{
m();
n();
}
catch(Exception ex){
System.out.println("捉到例外:"
+ex.getMessage());
}
}
static void m()throws RuntimeException{ <===忘了加
Post by never
throw new RuntimeException("例外一");
}
static void n()throws Exception{ <===忘了加
Post by never
throw new Exception("例外二");
}
}
不好意思請問一下,為什麼我執行完後錯的地方是throw new Exception("例外二");
這行呢?不太懂,有大大可以幫我解答一下嗎?感謝
改過後,執行結果為"捉到例外:例外一",沒加之前,不能編譯才對
--
┌─────◆KKCITY◆─────┐ ◢ ◤ 找歌最方便 KKBOX 歌詞搜尋!!
│ bbs.kkcity.com.tw │ \^_^ /  ★http://www.kkbox.com.tw★
└──《From:220.138.33.122 》──┘   ◤ 唱片公司授權,音樂盡情下載
--
Alien
2007-06-21 03:50:28 UTC
Permalink
※ 引述《***@kkcity.com.tw ( )》之銘言:
: ※ 引述《***@ptt.cc (never)》之銘言:
: > public class Test20{
: > public static void main(String[] args){
: > try{
: > m();
: > n();
: > }
: > catch(Exception ex){
: > System.out.println("捉到例外:"
: > +ex.getMessage());
: > }
: > }
: static void m()throws RuntimeException{ <===忘了加
RuntimeException 是 unchecked exception.
不需要 declare throws.

所以不加這句也能 compile

: > throw new RuntimeException("例外一");
: > }
: static void n()throws Exception{ <===忘了加
: > throw new Exception("例外二");
: > }
: > }
: > 不好意思請問一下,為什麼我執行完後錯的地方是throw new Exception("例外二");
: > 這行呢?不太懂,有大大可以幫我解答一下嗎?感謝
: 改過後,執行結果為"捉到例外:例外一",沒加之前,不能編譯才對

alien

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 202.22.246.26

继续阅读narkive:
Loading...