当我尝试在我的Main类中运行此代码时,我的IDE会弹出并说我没有处理我在方法开头抛出的异常。
public byte[] generateSalt() throws NoSuchAlgorithmException{
// VERY important to use SecureRandom instead of just Random
SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
// Generate a 8 byte (64 bit) salt as recommended by RSA PKCS5
byte[] salt = new byte[8];
random.nextBytes(salt);
return salt;
}
答案 0 :(得分:1)
如果此方法抛出异常,则每个使用它的方法都需要捕获该异常,或者抛出异常。
如果使用generateSalt
的方法没有执行其中一个,那么编译器会抱怨未处理的异常。
解决方案很简单,在调用方法上要么将throws NoSuchAlgorithmException
添加到签名中,要么执行此操作:
try {
generateSalt();
} catch (NoSuchAlgorithmException e) {
// do something with the exception
}