為什么會(huì)報(bào)錯(cuò)呢?怎么處理呢?
package qqq;
public class Merry {
public ? static void ? divide(int a,int b)throws Exception{
if (b==0) {
throw new Exception("除數(shù)不能為零");
}
else{System.out.println("兩數(shù)相除,商為:"+a/b);}
}
public static void main(String[] args) {
// Merry merry=new Merry();
Merry.divide(10, 2);
}
}
然后運(yùn)行的結(jié)果是:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:?
Unhandled exception type Exception
at qqq.Merry.main(Merry.java:17)
我一直想不明白,求解答。
2017-07-27
不好意思“調(diào)用e.方法”能不能詳細(xì)說(shuō)說(shuō)……(我是真的小白
嗯可是我覺(jué)得,就目前來(lái)看這個(gè)divide方法只負(fù)責(zé)拋出異常,本身沒(méi)有處理異常的功能。不知道你的想法是不是下面這樣:
public void test(int a,int b) {
??????try {
???????????Merry.divide(a, b);
??????}catch(Exception e) {
???????????System.out.println("除數(shù)不能為零");
??????}
?}
?
?public static void main(String[] args) {
??????Merry merry=new Merry();
??????merry.test(10, 2);
?}
就是再寫(xiě)一個(gè)帶參的test方法,這個(gè)方法調(diào)用divide方法,并且可以解決它拋出的異常,然后main直接調(diào)用test方法。
2017-07-27
我雖然是小白但是姑且說(shuō)一下我的想法哈~這個(gè)意思應(yīng)該是說(shuō)在main里面調(diào)用的divide方法可能會(huì)拋出異常,但是你沒(méi)有寫(xiě)拋出了異常之后要如何處理的方法,也就是沒(méi)有寫(xiě)try-catch,所以如果main寫(xiě)成
public static void main(String[] args) {
????try {
????????Merry.divide(10, 0);
????}catch(Exception e) {
????????System.out.println("除數(shù)不能為零");
}
}
應(yīng)該就可以了。
不過(guò)我還不太清楚Exception(“除數(shù)不能為零”)這里面的字符串參數(shù)有什么用,望交流指點(diǎn)呀!~
2017-07-26
b==0 ? 不等于零你是要拋出異常的。 ?你想要捕獲異常,然后輸出中文的異常,不是這么搞的。
2017-07-26
Unhandled exception type Exception
2017-07-26
也就時(shí)在主方法調(diào)用那一行