2015-12-29 6 views
-2

Когда я пытаюсь запустить этот код в своем основном классе, моя IDE всплывает и говорит, что я не обрабатываю исключение, которое я бросаю в начале моего метода.Метод исключает, что java говорит, что не обрабатывается

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; 

} 
+2

Так что ваш вопрос? Если вы не знаете, что делать с исключением, я предлагаю вам восстановить его так же, как вы это делаете. –

+0

где вы называете 'generateSalt'? Вы справляетесь с этим исключением? Где компилятор жалуется? – luk2302

+0

где вы вызываете этот метод, опубликуйте эту часть – Ramanlfc

ответ

1

Если этот метод выбрасывает исключение, то каждый метод, который его использует, должен либо поймать это исключение, либо выбросить его.

Если метод, который использует generateSalt, не выполняет одно из двух, тогда компилятор будет жаловаться на необработанное исключение.

Решение простое, на вызывающем методе либо добавить throws NoSuchAlgorithmException в подписи, или сделать это:

try { 
    generateSalt(); 
} catch (NoSuchAlgorithmException e) { 
    // do something with the exception 
}