十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
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 block System.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
创新互联自2013年起,是专业互联网技术服务公司,拥有项目成都网站设计、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元嘉善做网站,已为上家服务,为嘉善各地企业和个人服务,联系电话:028-86922220
1): throws ArithmeticException
2:)new
3:)ArithmeticException
代码块里抛异常使用的是throw 关键字, 方法体抛异常使用的是throws 关键字
使用try catch 用于捕获抛出的异常, 并试图进行处理
完整的参考代码
public class TestThrow {
static int x = 0;
static int y = 0;
public static void divide() throws ArithmeticException { // 方法定义抛出异常
if (x != 0) {
y = 100 / x;
} else {
throw new ArithmeticException("除数不能为零!");//抛出异常
}
}
public static void main(String[] args) {
try {
divide();
} catch (ArithmeticException e) {//捕获方法抛出的异常,并在catch里打印出来
e.printStackTrace();
}
}
}
Java语言提供两种异常处理机制:捕获异常和声明抛弃异常。
1、捕获异常:
(1)在Java程序运行过程中系统得到一个异常对象是,它将会沿着方法的调用栈逐层回溯,寻找处理这一异常的代码。
(2)找到能够处理这种类型异常的方法后,运行时系统把当前异常交给这个方法处理;如果找不到可以捕获异常的方法,则运行时系统将终止,相应的Java程序也将退出。
(3)捕获异常是通过try-catch-finally语句实现的。语法为:
try{
...
}catch(ExceptionName1 e){
...
}catch(ExceptionName2 e){
...
}
...
}finally{
...
}
2、声明抛弃异常:
(1)当Java程序运行时系统得到一个异常对象时,如果一个方法并不知道如何处理所出现的异常,则可在方法声明时,声明抛弃异常。
(2)声明抛弃异常是在一个方法声明中的throws子句中指明的。如:
public int read()() throws IOException{
...
}
其中throws IOException就是声明抛弃异常,throws后可以跟多个异常类型。
扩展资料:
程序设计语言的异常机制:
1、多数语言的异常机制的语法是类似的:用throw或raise抛出一个异常对象(Java或C++等)或一个特殊可扩展的枚举类型的值(如Ada语言);
2、异常处理代码的作用范围用标记子句(try或begin开始的语言作用域)标示其起始,以第一个异常处理子句(catch, except, resuce等)标示其结束;可连续出现若干个异常处理子句,每个处理特定类型的异常。
3、某些语言允许else子句,用于无异常出现的情况。更多见的是finally, ensure子句,无论是否出现异常它都将执行,用于释放异常处理所需的一些资源。
(1)C++异常处理是资源获取即初始化(Resource-Acquisition-Is-Initialization)的基础。
(2)C语言一般认为是不支持异常处理的。Perl语言可选择支持结构化异常处理(structured exception handling)。
(3)Python语言对异常处理机制是非常普遍深入的,所以想写出不含try, except的程序非常困难。
参考资料来源:
百度百科-异常处理
这种问题写个代码跑一下就可以了,java中整数除以0会引发
java.lang.ArithmeticException: / by zero
ArithmeticException是出现异常的运算条件时,抛出此异常,结果如下图:
除此之外还要注意,浮点数除以0将会的得到 Infinity(无穷大)或NaN结果,但不会报异常。