GoTo는 최대한의 경계로 사용합니다 (원칙 금지)
1790 단어 VBAGotoEatGoToTravelResumegoto
GoTo를 금지하면 어려움
VB(A)를 사용하는 여러분, GoTo 사용 금지로, 곤란하고 있지 않습니까.
GoTo 사용을 금지하면,
OnError.basOn Error Resume Next
로 할 수밖에 없고, 다음과 같은 에러 체크를 대량으로 코딩할 필요가 있습니다.
ErrHandling.basdim 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) 예외 처리
On Error Resume Next
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
・
・
・
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/
Reference
이 문제에 관하여(GoTo는 최대한의 경계로 사용합니다 (원칙 금지)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/jp-96/items/c150b8461241ac6afde2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(GoTo는 최대한의 경계로 사용합니다 (원칙 금지)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/jp-96/items/c150b8461241ac6afde2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)