2010-11-19 6 views

答えて

3

まず、私はあなたが意味を考える:

on error goto label 

そして、いや、あなたは後藤のコマンドを使用して変数を渡すことはできません。ただし、詳細についてはErr.Descriptionを確認することができ、そしてあなた自身のエラーを上げている場合、あなたはこれを行うことができます:あなたがあなた自身のエラーを上げている場合、あなたはそのフィールドにソースを設定することができるように

' Raise a custom error. 
    Err.Raise Number:=vbObjectError + 1000, _ 
     Source:="TestRaiseCustomError", _ 
     Description:="My custom error description." 

を問題を引き起こした。

を参照してください。エラーオブジェクトの発生方法を使用して、カスタムエラーを発生させますセクションをthis linkにしてください。

4

あなたは、私はそれを行うための巧妙な方法を考えることはできませんエラー番号と説明

Sub|Function SomeName() 
    On Error GoTo Err_SomeName   ' Initialize error handling. 
    ' Code to do something here. 
Exit_SomeName:       ' Label to resume after error. 
    Exit Sub|Function     ' Exit before error handler. 
Err_SomeName:       ' Label to jump to on error. 
    MsgBox Err.Number & Err.Description ' Place error handling here. 
    Resume Exit_SomeName    ' Pick up again and quit. 
End Sub|Function 
0

を取得するのErrを使用することができます。私は通常クラス/関数をハンドリングするエラーを持っています。その方法でエラーを "on error goto"を使用してエラーを下のブロックに渡し、エラーハンドリング関数を呼び出します。これの利点は、集中型のエラーハンドラを持つことはいいですが、私の場合には私がクラッシュしたプロシージャの名前を渡すようにカスタマイズすることもできます。それはかなりではありませんが、あなたが本当に(あなたがどれくらい多く持っているかに依存して)変数のコレクションを渡したい場合や、行番号に基づいて変数を識別するための何かを設定したいのであれば可能です。 )

on error goto err 

'Code 

err: 

ErrorHandeler err, "String with Procedure name" 
0

グローバル変数を宣言し、コードとエラーコードで使用します。

Public global_variable1 As Integer 
Public global_variable2 As String 

Private Sub Btn1234_Click() 
.... 
end sub 

Err_abcd:       
.... 
End Sub 
関連する問題