Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
停止ArrayOutOfBoundsException停止Java中的程序执行_Java_Arrays_Exception Handling_Automated Tests_Try Catch - Fatal编程技术网

停止ArrayOutOfBoundsException停止Java中的程序执行

停止ArrayOutOfBoundsException停止Java中的程序执行,java,arrays,exception-handling,automated-tests,try-catch,Java,Arrays,Exception Handling,Automated Tests,Try Catch,Im目前正在开发一个自动测试类,在同一个包中的其他类上运行几个单独的测试。测试文件的目的是显示每个测试是通过还是失败。正在测试的某些文件未正确写入。在运行测试时创建ArrayOutOfBoundsException,这会导致我的测试文件崩溃,直到执行其他测试结束后才会继续。我不能修改代码来修复正在测试的项目上的错误 ->如何在不创建任何新类的情况下阻止异常停止Java中的程序执行 感谢您的帮助、建议和分享 阻止它发生的最佳方法:修复代码以执行适当的检查 如果无法修复实际失败的代码,可以在外部级别

Im目前正在开发一个自动测试类,在同一个包中的其他类上运行几个单独的测试。测试文件的目的是显示每个测试是通过还是失败。正在测试的某些文件未正确写入。在运行测试时创建ArrayOutOfBoundsException,这会导致我的测试文件崩溃,直到执行其他测试结束后才会继续。我不能修改代码来修复正在测试的项目上的错误

->如何在不创建任何新类的情况下阻止异常停止Java中的程序执行


感谢您的帮助、建议和分享

阻止它发生的最佳方法:修复代码以执行适当的检查

如果无法修复实际失败的代码,可以在外部级别显式捕获异常,记录警告并继续下一个文件:

try
{
    operationWhichMightThrow();
}
catch (ArrayIndexOutOfBoundsException e)
{
    log.warning("Failed file " + filename, e);
    // Do whatever you need to continue to the next file.
}

阻止它发生的最佳方法:修复代码以执行适当的检查

如果无法修复实际失败的代码,可以在外部级别显式捕获异常,记录警告并继续下一个文件:

try
{
    operationWhichMightThrow();
}
catch (ArrayIndexOutOfBoundsException e)
{
    log.warning("Failed file " + filename, e);
    // Do whatever you need to continue to the next file.
}

捕获异常并将其记录为测试失败。

捕获异常并将其记录为测试失败。

您可以修改测试中的代码吗?我不能,因为我正在评估其他人的工作。谢谢你的兴趣。你能在测试中修改代码吗?我不能,因为我正在评估其他人的工作。谢谢你的关注。好的,非常感谢Jon,我将使用if-catch,因为我不允许修改代码,因为我正在评估其他人的工作。“祝你一切顺利!”乔恩·斯基特,实际上,在试图弄清楚如何使用“试抓”挡块之后,在这种情况下,你的训练不会很好。我不想创建任何额外的类,是否可以在同一个类testfile中捕获方法?@Scobal是的,我可以对“testfile”类做任何我想做的事情,因为我是开发它的人。我不能做的是修改am项目的方法和类testing@venezuelan_pimp当前位置不太清楚你在问什么,但我想是的。但是,如果一开始你的类中确实发生了异常,那么你可以通过确保使用适当的数组索引来避免它。@Jon Skeet:很抱歉,在阐述我的问题时不清楚,我有时发现很难用英语写下我的想法。关于异常,它不是发生在同一个类中,而是发生在同一个包中的另一个类中。我不允许修改/修复正在测试的类中引发异常的代码。您的解决方案非常好,我只是通过捕获ArrayIndexOutOfBoundsException而不是ArrayOutOfBoundsException来塑造它,这样我就不必在包中为它创建额外的类。谢谢你的帮助Jon你真的很好。非常感谢Jon,我将使用if catch,因为我不允许修改代码,因为我正在评估其他工作。“祝你一切顺利!”乔恩·斯基特,实际上,在试图弄清楚如何使用“试抓”挡块之后,在这种情况下,你的训练不会很好。我不想创建任何额外的类,是否可以在同一个类testfile中捕获方法?@Scobal是的,我可以对“testfile”类做任何我想做的事情,因为我是开发它的人。我不能做的是修改am项目的方法和类testing@venezuelan_pimp当前位置不太清楚你在问什么,但我想是的。但是,如果一开始你的类中确实发生了异常,那么你可以通过确保使用适当的数组索引来避免它。@Jon Skeet:很抱歉,在阐述我的问题时不清楚,我有时发现很难用英语写下我的想法。关于异常,它不是发生在同一个类中,而是发生在同一个包中的另一个类中。我不允许修改/修复正在测试的类中引发异常的代码。您的解决方案非常好,我只是通过捕获ArrayIndexOutOfBoundsException而不是ArrayOutOfBoundsException来塑造它,这样我就不必在包中为它创建额外的类。谢谢你的帮助,乔恩,你真是太好了。