2016-09-28 8 views
-1

私は、自分のプライマリID /代替識別情報に基づいてサブスクライバを探す必要があるシナリオが1つあります。例外の指定例外またはハンドル汎用例外にエラーコードが含まれています

現在、操作が失敗する可能性があります。 DBDownのように、サブスクライバーが見つかりません。代替アイデンティティーなどのプライマリIDが見つかりません。

このシナリオを処理するには2つのオプションがあります。

  1. 障害シナリオのそれぞれまたはグループに特定の例外を作成します。あなたはにIOExceptionにFileNotFoundExceptionと比較することができ

    public class SubscriberFetchingFailedException extends Exception { 
    
        public SubscriberFetchingFailedException(String message) { 
        super(message); 
        } 
    } 
    
    /** 
    * throw when Primary identity not found against alternate identity 
    */ 
    
    public class PrimaryIdentityNotFound extends SubscriberFetchingFailedException { 
        public PrimaryIdentityNotFound(String message) { 
         super(message); 
        } 
    } 
    

  1. 例外を1つだけ作成し、シナリオごとにエラーコードを指定します。

    public class SubscriberFetchingFailedException extends Exception { 
        public SubscriberFetchingFailedException(String message, int errorCode) { 
         super(message); 
        } 
    } 
    

あなたはのSQLExceptionでこれを比較することができます。

私には最大10のエラーシナリオがあります。

今、私はどちらが良いアプローチであるかを知りたいと思います。

答えて

1

どちらも問題ありませんが、両方の方法を組み合わせてみることもできます。エラーを一般的なタイプのエラーにグループ化して、そのグループに特定のエラーコードを提供することができます。カテゴリがすべて類似しているような場合は、適切なエラーメッセージが表示されている限り、1つのグループに進むことは問題ありません。

関連する問題