在 Java 中处理加密/解密时,这段非常基本的代码非常常见。
final Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding");
cipher.init(Cipher.ENCRYPT_MODE, key, iv);
cipher.doFinal(*something*);
仅这三行,可能会引发六个异常,我不确定处理它们的最干净(就代码可读性而言)的方法是什么。尝试使用六个 catch 子句对我来说真的很香。
在使用此类对象时,是否存在我显然遗漏的微模式或最佳实践?
编辑
对不起,我想我没有很好地解释自己。我的问题并不是要避免使用 try\catch 子句,而是是否有处理类似情况的通用方法。
加密例外是
NoSuchPaddingException, NoSuchAlgorithmException
InvalidAlgorithmParameterException, InvalidKeyException,
BadPaddingException, IllegalBlockSizeException