public class Manager{
public double div(double x,double y)
{
try{
if(y==0)
{
throw new ArithmeticException()
}
else
return x/y
}catch(ArithmeticException ae)
{
ae.printStackTrace()
System.out.println("除数为0")
}
return x/y
}
public static void main(String ar[])
{
Manager m=new Manager()
System.out.println(m.div(10, 0))
}
}
运行结果:
这种问题写个代码跑一下就可以了,java中整数除以0会引发
java.lang.ArithmeticException: / by zero
ArithmeticException是出现异常的运算条件时,抛出此异常,结果如下图:
除此之外还要注意,浮点数除以0将会的得到 Infinity(无穷大)或NaN结果,但不会报异常。
super("除数为0异常")Container container = getContentPane()container.setLayout(new GridLayout(3, 2))container.add(new JLabel("输入被除数", SwingConstants.RIGHT))numeratorField = new JTextField(10)container.add(numeratorField)container.add(new JLabel("输入除数并回车", SwingConstants.RIGHT))denominatorField = new JTextField(10)container.add(denominatorField)denominatorField.addActionListener(this)container.add(new JLabel("结果", SwingConstants.RIGHT))outputField = new JTextField()container.add(outputField)setSize(425, 100)setVisible(true)}public void actionPerformed(ActionEvent event) {outputField.setText("")numerator = Integer.parseInt(numeratorField.getText())// 被除数try {denominator = Integer.parseInt(denominatorField.getText())} catch (NumberFormatException ex) {// 捕捉除数格式异常错误System.out.println("I detected Exception" + ex.toString())return// 当发现异常的时候退出方法}try {/** 这个地方调用quotient()方法,则必须要捕捉异常*/quotient = quotient(numerator, denominator)} catch (myArithmeticException e) {// TODO Auto-generated catch blockSystem.out.println(e.toString())outputField.setText(e.toString())return}outputField.setText(Integer.toString(quotient))}/** 这个方法抛出异常,那么调用这个方法是就要捕捉异常*/public int quotient(int numerator, int deniminator)throws myArithmeticException {if (denominator == 0)throw new myArithmeticException(denominator)return numerator / deniminator}public static void main(String[] args) {// TODO Auto-generated method stub