例外-メソッドが複数の例外を発生させた場合の例外の区別
-
28-10-2019 - |
質問
同じタイプの例外を発生させるこのクラスを取得しました。この例外をキャプチャして適切なエラーメッセージを表示するにはどうすればよいですか。これが私が今していることです。 ジェネラコディセタグプレ
そして私は以下を行います ジェネラコディセタグプレ
解決
あなたの例は実際にはカスタムの例外を正当化しません。元のメッセージを表示するだけです。
しかし、本当にカスタムの例外のパスを下に降りたい場合は、そのようなすべての異なるオプションを使用してenum
を持つ単一のカスタム例外を作成することです。
public class PasswordException : Exception
{
public PasswordException(PasswordResult result) : base() { }
public PasswordException(PasswordResult result, string message) : base(message) { }
public PasswordException(PasswordResult result, string message, Exception innerException) : base(message, innerException) { }
}
public enum PasswordResult
{
Success = 0,
PasswordMismatch,
PasswordEmpty,
// and so forth
}
. 他のヒント
さまざまな例外タイプをスローすることを検討してください。ライブラリの例外タイプを使い続けたい場合、古いパスワードまたは新しいパスワードがnullまたは空であれば、ArgumentNullException
が適切です。または、より具体的なエラー(おそらくWCFのFaultExceptionsに類似)を使用して独自の例外タイプを定義するか、カスタム例外にリソース識別子を含めることを検討することもできます(I18Nとの互換性を確保するため):
ジェネラコディセタグプレ
その後、次のように使用されます: ジェネラコディセタグプレ
次のようなカスタム例外を作成できます: ジェネラコディセタグプレ
これらは次のように使用できます: ジェネラコディセタグプレ
次に、次のようなtrycatchステートメントでそれらを処理できます。 ジェネラコディセタグプレ
したがって、さまざまな種類の例外をさまざまな方法で処理できます。それがあなたが探していたものであることを願っています。
所属していません StackOverflow