GoTo는 최대한의 경계로 사용합니다 (원칙 금지)

GoTo를 금지하면 어려움



VB(A)를 사용하는 여러분, GoTo 사용 금지로, 곤란하고 있지 않습니까.
GoTo 사용을 금지하면,

OnError.bas
On Error Resume Next

로 할 수밖에 없고, 다음과 같은 에러 체크를 대량으로 코딩할 필요가 있습니다.

ErrHandling.bas
dim hasErr as Boolean
hasErr = False

If Not hasErr Then
    ' コーディング
end if
If Err.Number <> 0 Then
    hasErr = True
    ' 例外発生時の処理
End if
If Not hasErr Then
    ' コーディングの続き
end if
If Err.Number <> 0 Then
    hasErr = True
    ' 例外発生時の処理
End if
・
・
・

코드의 가독성이 저하되어, 버그를 유발할 수 있습니다.

모범 사례 - VB(A) 예외 처리


  • GoTo 문장은 원칙 금지로 합니다.
  • 다만, 이벤트 핸들러등의 Sub 프로시저내이면, On Error GoTo - Resume 의 조합으로 최대한의 경계로 사용하는 것을 추천합니다.

  • snipet.bas
    Sub button_Click()
    On Error GoTo Travel
    
        ' ここにコーディングしてください。
    
    Eat:
        ' 後処理があればここにコーディングしてください。
        ' (例外が発生しそうな場合は、 On Error Resume Next で、例外処理を行ってください。)
        Exit Sub
    Travel:
        ' 例外発生時の処理があればここにコーディングしてください。
        ' ※ Errオブジェクトはシングルトンですので、別のサブルーチンや関数を呼び出すと、
        '    その中で、Errオブジェクトの内容が変化してしまうことがあります。
        MsgBox Err.Description, vbCritical, "予期せぬエラー [" & Err.Number & "]"
        Resume Eat
    End Sub
    
    

    결론



    지금까지, 라벨명에, ExitProc 이나 ErrHandler 를 사용하고 있었습니다만, 이제부터는 Eat 이나 Travel 를 사용하는 것을 추천합니다.

    Go To 캠페인




    출처 : htps //w w. g 후우-sc. jp/마다 t등ゔぇぇあt/

    좋은 웹페이지 즐겨찾기