java 表示未处理的方法抛出异常
Method throws exception that java says isn't handled
当我尝试 运行 我的 Main class 中的这段代码时,我的 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;
}
如果此方法抛出异常,那么使用它的每个方法都需要捕获该异常,或者也抛出它。
如果使用 generateSalt
的方法没有执行两者之一,那么编译器将抱怨未处理的异常。
解决方法很简单,在调用方法上要么在签名中添加throws NoSuchAlgorithmException
,要么这样做:
try {
generateSalt();
} catch (NoSuchAlgorithmException e) {
// do something with the exception
}
当我尝试 运行 我的 Main class 中的这段代码时,我的 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;
}
如果此方法抛出异常,那么使用它的每个方法都需要捕获该异常,或者也抛出它。
如果使用 generateSalt
的方法没有执行两者之一,那么编译器将抱怨未处理的异常。
解决方法很简单,在调用方法上要么在签名中添加throws NoSuchAlgorithmException
,要么这样做:
try {
generateSalt();
} catch (NoSuchAlgorithmException e) {
// do something with the exception
}