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

自定义异常,在try中抛出异常,再catch进行处理。是不是就不用throws这个异常了。不过抛出不处理就得throws吧?代码如下:不用加throwsDiviorIsZ... 自定义异常,在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, "通用型异常");
}
}
}
展开
 我来答
匿名用户
推荐于2018-03-20
展开全部
一般都取决于你的业务,如果已经是最上层,业务逻辑层就不用throw,如果是底层可以在catch中再往上抛,有业务层再做异常处理
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式