示例代碼:
On Error GoTo Line3
More code
Line3:
Some code
Some code
More code
即使沒有錯誤,Line3 下面的“一些代碼”仍然可以運行,即使我不希望它運行。否則,當出現錯誤時,Line3 會正確運行(跳過它應該出現的代碼)。
uj5u.com熱心網友回復:
代碼仍然會運行,它只是一個標簽,您可以在需要時將其指向執行。
嘗試這樣做可以避免您的問題,但在不知道您的確切要求的情況下,您可能需要調整代碼結構以滿足您的需要。
我的建議是將 Line3 放在底部,而不是放在例程的中間。這樣你只需做一個清理,然后出去。從可讀性的角度來看,它往往更有意義。當然,只有在發生錯誤后離開才有意義時,您才應該這樣做。
On Error GoTo Line3
More code
Goto Line4
Line3:
Some code
Some code
Line4:
On Error GoTo 0
More code
GoTo 陳述句的技巧(如果您打算使用它們)是謹慎使用它們。
uj5u.com熱心網友回復:
使用Gotos管理的執行路徑幾乎總是一個貧窮的設計選擇。您可以考慮以下不太依賴Goto標簽的方法。更容易看到預期的邏輯流程(和錯誤處理),而無需直觀地決議任何Goto陳述句。
Sub Example()
If Not TryMorecode1() Then
Somecode1
Somecode2
End If
Morecode2
End Sub
Private Function TryMorecode1() As Boolean
'catch errors locally within this function
'return False if an error is generated
End Function
Private Sub Morecode2()
End Sub
Private Sub Somecode1()
End Sub
Private Sub Somecode2()
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/401789.html
上一篇:SwiftUI:List/ForEach中的滑塊行為例外
下一篇:將范圍轉換為json陣列
