Java カスタム キャッチ例外

ここに画像の説明を挿入します

需要分析

ElectricalCustomerVO electricalCustomerVO = new ElectricalCustomerVO();
electricalCustomerVO.setElcNumber(chatRecordsLog.getDeviceNumber());
List<ElectricalCustomerVO> electricalCustomerlist = electricalCustomerMapper.selectElectricalCustomerList(electricalCustomerVO);

さて、データセットを取得するそのようなメソッドがあります。その中のデータを取得したいのですが、リストが空になることが心配です。このメソッドは戻り値が ID である必要があり、プロンプトにすることはできません。どうすればよいですか。解決しますか?

問題が解決しました

else取得したデータがブランチ内で空である場合の状況を処理したい場合はカスタム例外をスローし、このメソッドが呼び出される場所でそれをキャプチャして処理できますelectricalCustomerlist考慮すべき点は次のとおりです。nullelectricalCustomerVO

最初の方法

  1. カスタム例外クラスを定義します。例:
public class ElectricalCustomerNotFoundException extends RuntimeException {
    
    
    public ElectricalCustomerNotFoundException(String message) {
    
    
        super(message);
    }
}
  1. elseこの例外はブランチでスローされます
}else {
    
    
    throw new ElectricalCustomerNotFoundException("Electrical customer not found");
}

第二の方法

  1. メソッドが呼び出される場所ではDirectInsertChatRecordsLogtry-catchブロックを使用して例外をキャッチし、それを処理します。
try {
    
    
      electricalCustomerVO = electricalCustomerMapper.selectElectricalCustomerList(electricalCustomerVO).get(0);
    // 成功处理的逻辑
} catch (ElectricalCustomerNotFoundException ex) {
    
    
    // 处理 ElectricalCustomerNotFoundException 异常,例如打印日志或返回错误信息给前端
     ex.printStackTrace();
}

このように、electricalCustomerVOが空の場合、ElectricalCustomerNotFoundException例外がスローされ、上位ロジックでこの例外をキャッチして、それに応じて処理できます。これにより、エラー メッセージが明確になり、コードの保守性が向上します。

おすすめ

転載: blog.csdn.net/weixin_53742691/article/details/132591417
おすすめ