草庐IT

catching

全部标签

java - 在 JUnit 测试中尝试 catch

我正在为一个已经存在很长时间的应用程序编写单元测试。我需要测试的一些方法是这样构建的:publicvoidsomeMethod()throwsException{//dosomething}如果我想测试这些方法,我必须在我的单元测试中写这样的东西:@TestpublicvoidsomeTest(){try{someMethod();}catch(Exceptione){e.printStackTrace();}}这样做是个好习惯吗?或者还有其他方法可以测试这些方法吗?我在互联网上进行了一些研究,并找到了一些带有@Rule注释和@Test(expected=Exception.class

java - 在 JUnit 测试中尝试 catch

我正在为一个已经存在很长时间的应用程序编写单元测试。我需要测试的一些方法是这样构建的:publicvoidsomeMethod()throwsException{//dosomething}如果我想测试这些方法,我必须在我的单元测试中写这样的东西:@TestpublicvoidsomeTest(){try{someMethod();}catch(Exceptione){e.printStackTrace();}}这样做是个好习惯吗?或者还有其他方法可以测试这些方法吗?我在互联网上进行了一些研究,并找到了一些带有@Rule注释和@Test(expected=Exception.class

java - java中try-catch和throw的区别

try-catch和throw子句有什么区别。什么时候使用这些?请告诉我。 最佳答案 tryblock将执行可能引发异常的敏感代码只要在tryblock中抛出异常(被捕获的类型),就会使用catchblockfinallyblock在每个情况下在try/catchblock之后被调用。即使没有捕获到异常,或者您之前的block破坏了执行流程。throw关键字将允许您抛出异常(这会中断执行流程并且可以在catchblock中捕获)。方法原型(prototype)中的throws关键字用于指定您的方法可能会抛出指定类型的异常。当您检查了

java - java中try-catch和throw的区别

try-catch和throw子句有什么区别。什么时候使用这些?请告诉我。 最佳答案 tryblock将执行可能引发异常的敏感代码只要在tryblock中抛出异常(被捕获的类型),就会使用catchblockfinallyblock在每个情况下在try/catchblock之后被调用。即使没有捕获到异常,或者您之前的block破坏了执行流程。throw关键字将允许您抛出异常(这会中断执行流程并且可以在catchblock中捕获)。方法原型(prototype)中的throws关键字用于指定您的方法可能会抛出指定类型的异常。当您检查了

java - 当 catch 并没有真正捕捉到任何东西时

这个问题在这里已经有了答案:"Comparisonmethodviolatesitsgeneralcontract!"(13个回答)关闭4年前.由于最近存储在数据库中的错误数据,我遇到了程序崩溃。这让我很困惑,因为我认为我有办法防止这种情况发生。以下代码的目的是比较员工徽章编号并对其进行排序。如果有错误,返回-1并继续前进——不要因为几千个徽章编号中的一个错误而停止:publicintcompare(Employeet,Employeet1){IntegerreturnValue=-1;try{Integertb=Integer.parseInt(t.getBadgeNumber())

java - 当 catch 并没有真正捕捉到任何东西时

这个问题在这里已经有了答案:"Comparisonmethodviolatesitsgeneralcontract!"(13个回答)关闭4年前.由于最近存储在数据库中的错误数据,我遇到了程序崩溃。这让我很困惑,因为我认为我有办法防止这种情况发生。以下代码的目的是比较员工徽章编号并对其进行排序。如果有错误,返回-1并继续前进——不要因为几千个徽章编号中的一个错误而停止:publicintcompare(Employeet,Employeet1){IntegerreturnValue=-1;try{Integertb=Integer.parseInt(t.getBadgeNumber())

java - 是否可以在 catch 中重新分配最终变量,即使分配是 try 中的最后一个操作?

我很相信这里finalinti;try{i=calculateIndex();}catch(Exceptione){i=1;}i如果控制到达catch-block,则不可能已经分配。然而,Java编译器不同意并声称thefinallocalvariableimayalreadyhavebeenassigned.我在这里仍然缺少一些微妙之处,还是这只是Java语言规范用来识别潜在重新分配的模型的一个弱点?我主要担心的是Thread.stop(),这可能会导致“凭空”抛出异常,但我仍然不明白在赋值后如何抛出异常,这显然是tryblock中的最后一个操作。如果允许,上面的成语将使我的许多方法

java - 是否可以在 catch 中重新分配最终变量,即使分配是 try 中的最后一个操作?

我很相信这里finalinti;try{i=calculateIndex();}catch(Exceptione){i=1;}i如果控制到达catch-block,则不可能已经分配。然而,Java编译器不同意并声称thefinallocalvariableimayalreadyhavebeenassigned.我在这里仍然缺少一些微妙之处,还是这只是Java语言规范用来识别潜在重新分配的模型的一个弱点?我主要担心的是Thread.stop(),这可能会导致“凭空”抛出异常,但我仍然不明白在赋值后如何抛出异常,这显然是tryblock中的最后一个操作。如果允许,上面的成语将使我的许多方法

java - lambda 中的无限 while 循环内的 Thread.sleep 不需要 'catch (InterruptedException)' - 为什么不呢?

我的问题是关于InterruptedException,它是从Thread.sleep方法抛出的。在使用ExecutorService时,我注意到一些我不理解的奇怪行为;这就是我的意思:ExecutorServiceexecutor=Executors.newSingleThreadExecutor();executor.submit(()->{while(true){//DOSOMETHINGThread.sleep(5000);}});使用此代码,编译器不会给我任何错误或消息,告诉我应该从Thread.sleep捕获InterruptedException。但是当我试图改变循环条件

java - lambda 中的无限 while 循环内的 Thread.sleep 不需要 'catch (InterruptedException)' - 为什么不呢?

我的问题是关于InterruptedException,它是从Thread.sleep方法抛出的。在使用ExecutorService时,我注意到一些我不理解的奇怪行为;这就是我的意思:ExecutorServiceexecutor=Executors.newSingleThreadExecutor();executor.submit(()->{while(true){//DOSOMETHINGThread.sleep(5000);}});使用此代码,编译器不会给我任何错误或消息,告诉我应该从Thread.sleep捕获InterruptedException。但是当我试图改变循环条件