Java没有抛出算术异常

Java没有抛出算术异常,java,testng,arithmeticexception,Java,Testng,Arithmeticexception,我有以下Java代码: public class Calc { public int quotient(int a, int b){ return a/b; } } 和TestNG此方法的单元测试: @Test () public void testingMethod3() { Assert.assertEquals(0, calc.quotient(5,0)); } 在我的工作电脑上,我成功地获得了 java.lang.arithmetricExce

我有以下Java代码:

public class Calc {
    public int quotient(int a, int b){
        return a/b;
    }
}
和TestNG此方法的单元测试:

@Test ()
public void testingMethod3() {
    Assert.assertEquals(0, calc.quotient(5,0));
}
在我的工作电脑上,我成功地获得了

java.lang.arithmetricException:/by零

消息,如预期的那样

但当我的同事在家用计算机上运行此测试时,提到的异常是并没有抛出,测试通过

这种魔法是如何发生的

附言。 环境 操作系统:Windows 10 TestNG版本:6.13.1 Java版本:8(不知道确切的构建版本)

p.p.S。
删除目标文件夹并重建项目是非常有用的解决方案。似乎IDE兑现了旧的项目源代码,在代码更改后没有刷新它们。

在过去,我经历过类似于您的情况。因为JDK编译环境和/或JRE运行时环境不同。并且需要检查TestNG的不同版本

通过添加几行代码打印Java属性进行检查

Properties p = System.getProperties();
Enumeration keys = p.keys();
while (keys.hasMoreElements()) {
    String key = (String)keys.nextElement();
    String value = (String)p.get(key);
    System.out.println(key + ": " + value);
}

然后比较

没有。值不相同。复制粘贴错误?商方法必须引发异常。它是0的除法。。。如果你的朋友告诉你他没有得到这个异常,他要么是在撒谎,要么是在用另一个0以外的数字来表示b。我不确定复制粘贴错误。这段代码是在家里编写的,并提交到存储库。在工作中,我们只是拉了拉,然后又跑了一次。在两台工作PC上,它都按预期工作,只有一个例外。