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, "通用型异常");
}
}
} 展开
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, "通用型异常");
}
}
} 展开
1个回答
推荐于2018-03-20
展开全部
一般都取决于你的业务,如果已经是最上层,业务逻辑层就不用throw,如果是底层可以在catch中再往上抛,有业务层再做异常处理
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |