私はコンストラクタでカスタムクラスを持っていますが、クラスはいくつかの条件で正当にinitに失敗するように設定されています。どうすれば返品できますか?VB.NETで現在のオブジェクトinitが失敗したことをコンストラクタに伝える方法
1
A
答えて
6
コンストラクタから何も返すことはできません。初期化するにはコンストラクタがあります。
あなたが行うことができます物事のカップルは、状況に応じて、あります
初期化するfailiureが例外をスローし、
Try
ブロックを使用して、それをキャッチし、例外的な状況の場合:Public Sub New() '... fail to initialize Throw New ApplicationException("Some problem") 'Or whatever type of exception is appropriate End Sub
は、それは多くの障害が発生した場合、あなたは、入力または何かをフィルタリングコンストラクタ
Private
を作り、Shared
方法で構築することができません。Public Shared Function CreateMyObject() If someFailure Then Return Nothing End If Return New MyObject() 'Or something End Function
0
その少し古い学校がありますが、例外が設定されていることLastExceptionプロパティを持つことができます処理されます。
Public Class Foo
Private _LastException As Exception = Nothing
Public ReadOnly Property LastException As Exception
Get
Return _LastException
End Get
End Property
Public Sub New()
Try
'init
Catch ex As Exception
_LastException = ex
End Try
End Sub
End Class
これは、クラスの作成後LastExceptionをチェックするためにあなたを必要とするが、それはオプションです。 ?
使用法:
Dim foo1 As New Foo
If Not foo1.LastException Is Nothing Then
'some error occurred
Else
'carry on
End If
関連する問題
- 1. Roslynコードリファクタリング - 失敗の理由をユーザーに伝える方法
- 2. カスタムinitが失敗したときにメモリをクリーンアップする方法
- 3. gomobile initがstdlib.hを見つけることに失敗しました
- 4. Laravel Policyがユーザ/発信者に失敗した理由を伝えることはできますか?
- 5. Googleにアンプのバージョンがないことを伝える方法
- 6. Java:コンストラクタが失敗したオブジェクトはどうなりますか?
- 7. OAuthExceptionでinit()が失敗する
- 8. super().__ init __()がエラーで失敗する
- 9. アプリケーションが現在存在していない機能を要件とする必要があることをプロジェクトマネージャに伝える方法はありますか?
- 10. 報告ポータルに、次のスキップ/失敗したアイテムにTo_Investigateではなくカスタムの欠陥があることを伝える方法
- 11. INSERTに失敗しました:VB.net
- 12. 例外が発生したコンストラクタの失敗をチェックする方法
- 13. phpで、現在のページにフィールド値を失うことなく、現在のページに切り替える。
- 14. オブジェクトのワークブックのオープン方法が失敗しました
- 15. 私のアプリケーションがVB.NETでフォーカスを失ったことを知る方法
- 16. Jmeter回帰失敗をJenkinsビルドに伝播する方法
- 17. JBoss EAP 7でDeltaspike initが失敗しました。
- 18. tensorflow gpuがsystemdサービスからinitに失敗しました
- 19. どのMavenプラグインがJenkinsビルドに失敗するかを確実に伝える方法は?
- 20. クラウドinitのパイプを使用するとruncmdが失敗する
- 21. Odoo10作業のセットアップは現在はImportErrorで失敗:はImportErrorで失敗confに
- 22. ジャスミンセットアップ/クリーンアップにすべてのAPIリクエストが伝わったことを伝える方法
- 23. RangeクラスのAutoFilterメソッドがVB.NETで失敗しました
- 24. SQL Serverでは、どのジョブが失敗したかをsysjobsがどのように伝えますか?
- 25. jQueryのコンストラクタとinit
- 26. firebase initコマンドの実行に失敗しました
- 27. トリガが別のテーブルを更新することをNHibernateに伝える方法?
- 28. 定数が存在することをPhpStorm IDEに伝えるには?
- 29. これが失敗した
- 30. 内部コンストラクタでMoqアクセスメソッドが失敗しました
私はスローなアプローチで行きますよ。ありがとう。 – Bill