Jar文件 - 例外

时间:2017-10-19 17:30:43

标签: java jar exception-handling

我有一个jar文件。它有2个班级。我在cmd中运行它,它给出了一个例外列表。当我再次运行它时它确实运行只让我访问第一个登录类。我想知道是否有再次查看这些例外的命令?我想尝试解决它们。

2 个答案:

答案 0 :(得分:0)

我假设你关闭了cmd并且再也看不到那些输出了。没有本地方法可以查看cmd的日志。因此,您需要重现出现这些错误并再次运行的条件可能对您有所帮助。

答案 1 :(得分:0)

确切了解代码正在执行的操作的最佳方法是使用测试驱动开发(TDD)。使用TDD,您可以锻炼代码的每一行,包括在特定行中抛出异常。

以下是使用jUnit和Mockito的一些例外情况:

public class MyClass{
   private List<String> field;
   public void doStuff(){
      System.out.println("Before calling s.size()");
      s.size();
   }

   public void setField(List<String> s){
      field = s;
   }
}

/*imports need to go here*/
public class MyTest {
MyObject obj; //the class under test
@Mock List mock;

@Test(expected=NullPointerException.class)
public void throw_null_pointer_exception_on_purpose(){
    obj = new MyObject();
   //obj.field == null
    obj.doStuff(); //throws NullPointerException when s.size() is called in doStuff() method
}

@Test(expected=RuntimeException.class)
public void throw_runtime_exception_on_purpose(){
    obj = new MyObject();
    obj.setField(mock);
    doThrow(new RuntimeException()).when(mock).size();
    obj.doStuff(); //throws RuntimeException when s.size() is called in the doStuff() method.
}
}

查看https://en.wikipedia.org/wiki/Test-driven_development了解详情。