有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何通过try-catch块只打印自定义错误消息而不打印testng中的所有堆栈跟踪

@Test(dataProvider = "FileDataProvider2") public void testModifiedFiles(String excelData2, String csvData)throws Exception { try{ List<List<String>> excelList2 = ReadFromFile.readexcelFile(excelData2); List<List<String>> csvList1 = ReadFromFile.readCSVFile(csvData); logger.info("Test by Missing some data"); Assert.assertEquals(excelList2, csvList1); } catch(Throwable e){ Assert.fail("Data Misseddddddddddd..............", e); } }

2016-05-11 00:17:35 INFO TestClassToCompare:72 - Test by Missing some data [Utils] Attempting to create D:\workspace\ReadExcelCSVFiles\test-output\Default suite\Default test.html [Utils] Directory D:\workspace\ReadExcelCSVFiles\test-output\Default suite exists: true [Utils] Attempting to create D:\workspace\ReadExcelCSVFiles\test-output\Default suite\Default test.xml [Utils] Directory D:\workspace\ReadExcelCSVFiles\test-output\Default suite exists: true FAILED: testModifiedFiles("C:/Users/leela krishna/Desktop/Xlsx/company_modified.xlsx", "C:/Users/leela krishna/Desktop/CSV/companies.csv") java.lang.AssertionError: Data Misseddddddddddd.............. at org.testng.Assert.fail(Assert.java:83) at com.qpair.readfile.ReadExcelCSVFiles.TestClassToCompare.testModifiedFiles(TestClassToCompare.java:76) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:86) at org.testng.internal.Invoker.invokeMethod(Invoker.java:646) at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:823) at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1131) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112) at org.testng.TestRunner.privateRun(TestRunner.java:778) at org.testng.TestRunner.run(TestRunner.java:632) at org.testng.SuiteRunner.runTest(SuiteRunner.java:366) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:361) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:319) at org.testng.SuiteRunner.run(SuiteRunner.java:268) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1225) at org.testng.TestNG.runSuitesLocally(TestNG.java:1150) at org.testng.TestNG.runSuites(TestNG.java:1075) at org.testng.TestNG.run(TestNG.java:1047) at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:126) at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:137) at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:58) Caused by: java.lang.AssertionError: lists don't have the same size expected [67] but found [66] at org.testng.Assert.fail(Assert.java:94) at org.testng.Assert.failNotEquals(Assert.java:513) at org.testng.Assert.assertEqualsImpl(Assert.java:135) at org.testng.Assert.assertEquals(Assert.java:116) at org.testng.Assert.assertEquals(Assert.java:389) at org.testng.Assert.assertEquals(Assert.java:556) at org.testng.Assert.assertEquals(Assert.java:533) at com.qpair.readfile.ReadExcelCSVFiles.TestClassToCompare.testModifiedFiles(TestClassToCompare.java:73) ... 25 more

=============================================== Default test

Tests run: 1, Failures: 1, Skips: 0

=============================================== Default suite Total tests run: 1, Failures: 1, Skips: 0 ===============================================`


共 (2) 个答案

  1. # 1 楼答案

    在Java中,不要打印全部异常“e”,只需打印一次异常的唯一原因即可

        System.out.println(e.getCause());
    

    谢谢——, 穆拉里

  2. # 2 楼答案

    如果你想要一个弹出窗口,那么你可以使用

            JOptionPane.showMessageDialog(null, "Error: " + ex.getMessage());
    

    或者

            System.out.println(ex.getMessage() + "My Custom error");
    

    演示如下:-

    public static void main(String[] args) {
        try {
            throw new RuntimeException("Cannot move file");
        } catch (Exception ex) {
            //JOptionPane.showMessageDialog(null, "Error: " + ex.getMessage());
            System.out.println(ex.getMessage() + "My Custom error");
        }
    }
    

    希望它能帮助你:)