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