JAVA try中throw异常catch对异常处理是不是就不用throws了?

自定义异常,在try中抛出异常,再catch进行处理。是不是就不用throws这个异常了。不过抛出不处理就得throws吧?代码如下:不用加throws DiviorIsZeroException了吧?
import javax.swing.JOptionPane;
class DiviorIsZeroException extends Exception{
public DiviorIsZeroException(){
super();
}
}
public class Test6_3 {
public static void main(String[] args){
double num1, num2;
double result;
try{
String str1 = JOptionPane.showInputDialog("请输入被除数:");
num1 = Double.parseDouble(str1);
String str2 = JOptionPane.showInputDialog("请输入除数");
num2 = Double.parseDouble(str2);
if (num2 == 0){
throw new DiviorIsZeroException();
}
result = num1 / num2;
JOptionPane.showMessageDialog(null, num1+"÷"+num2+"="+result);
}catch(DiviorIsZeroException ex){
JOptionPane.showMessageDialog(null, "除数不能为0");
}catch(ArithmeticException ex){
JOptionPane.showMessageDialog(null, "除数不能为0");
}catch(NumberFormatException ex){
JOptionPane.showMessageDialog(null, "数字格式转换异常");
}catch(Exception ex){
JOptionPane.showMessageDialog(null, "通用型异常");
}
}
}

一般都取决于你的业务,如果已经是最上层,业务逻辑层就不用throw,如果是底层可以在catch中再往上抛,有业务层再做异常处理
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答