在错误/恢复下一个模式中是否有与vb相当的java?

在错误/恢复下一个模式中是否有与vb相当的java?,java,vb.net,try-catch,next,resume,Java,Vb.net,Try Catch,Next,Resume,在VB中,对于错误捕获,有 Public Sub MySub() On Error GoTo Errr 'do stuff Errr: 'handle error Resume Next End Sub 它使用下一个命令 在Java中,有一个try-catch块 try { //some code } catch (Exception e) { //handle error } 这似乎相当于VB错误捕获,但具体来说没有Resume Next选项,因此Java

在VB中,对于错误捕获,有

Public Sub MySub()
    On Error GoTo Errr
    'do stuff
Errr:
    'handle error
    Resume Next
End Sub
它使用下一个命令

在Java中,有一个try-catch块

try 
{
//some code
}
catch (Exception e)
{
//handle error
}

这似乎相当于VB错误捕获,但具体来说没有Resume Next选项,因此Java只是在错误发生后退出整个代码块,而不是在错误发生后尝试运行其余代码。在Java中有没有办法获得Resume Next的强大功能?谢谢

只需在catch块之后放入您想要运行的代码,而不管有什么错误

try {
    // stuff that could cause error
} catch(Exception e) {
    // handle error
}

// do stuff
如果要从catch块抛出异常,但仍希望运行“do stuff”代码,可以将其放在finally块中,如下所示:

try {
    // stuff that could cause error
} catch(Exception e) {
    // throw exception here
} finally {
  // do stuff that will run even when the exception is thrown
}

只需在catch块之后放置您想要运行的代码,而不考虑任何错误

try {
    // stuff that could cause error
} catch(Exception e) {
    // handle error
}

// do stuff
如果要从catch块抛出异常,但仍希望运行“do stuff”代码,可以将其放在finally块中,如下所示:

try {
    // stuff that could cause error
} catch(Exception e) {
    // throw exception here
} finally {
  // do stuff that will run even when the exception is thrown
}

在Java中没有等价的,以VB恢复语句;在VB中,根据错误情况,您可以选择在代码中的特定标签处恢复,以便在修复错误后重新运行代码,类似于goto语句;这在java中是不可能的,除非在循环中,然后可以使用continue to a defined label块。

java中没有与VB resume语句等价的语句;在VB中,根据错误情况,您可以选择在代码中的特定标签处恢复,以便在修复错误后重新运行代码,类似于goto语句;这在java中是不可能的,除非在循环中,然后可以使用continue to a defined label块。

这对我不好。将代码放在末尾或finally块中假设我知道是哪个代码出错,也就是说,它假设我知道要在末尾或finally块中运行的其余代码,但事实并非如此。而且,它只会触发一次,而不是像Resume Next那样针对每个错误触发一次。不过,感谢您的快速响应。
on error resume next
只是说在出现错误时继续下一行。如果您不确定发生了什么,只想继续下一行,而不管哪一行导致了错误,那么您显然只想忽略错误?如果您不知道异常的原因,则很难正确处理异常,因此继续下去似乎是不明智的。你可以用一个try/catch块包装每一行,然后用一个空的catch来吞下异常,但是我建议你不要这样做,因为如果发生异常,你可能应该做些什么。我现在正在做的就是,用一个try-catch块包装每一行。所以我应该更具体一点,它是SQL代码;大量的表格添加和删除。出于我的目的,我不需要处理这个错误,我只需要一个异常的打印输出,让它继续尝试添加和删除更多的表。这对我不好。将代码放在末尾或finally块中假设我知道是哪个代码出错,也就是说,它假设我知道要在末尾或finally块中运行的其余代码,但事实并非如此。而且,它只会触发一次,而不是像Resume Next那样针对每个错误触发一次。不过,感谢您的快速响应。
on error resume next
只是说在出现错误时继续下一行。如果您不确定发生了什么,只想继续下一行,而不管哪一行导致了错误,那么您显然只想忽略错误?如果您不知道异常的原因,则很难正确处理异常,因此继续下去似乎是不明智的。你可以用一个try/catch块包装每一行,然后用一个空的catch来吞下异常,但是我建议你不要这样做,因为如果发生异常,你可能应该做些什么。我现在正在做的就是,用一个try-catch块包装每一行。所以我应该更具体一点,它是SQL代码;大量的表格添加和删除。出于我的目的,我不需要处理这个错误,我只需要一个异常的打印输出,让它继续尝试添加和删除更多的表。