잠재적 인 오류가 발생하는 코드가 있고이를 잡아 finally
블록으로 건너 뛰십시오. 여기에 '의사'형식입니다.일식 경고 : 마지막으로 블록이 정상적으로 완료되지 않습니다.
private boolean myMethod(ResultSet rs1, ResultSet rs2){
Vector<String> temp = new Vector<String>();
try{
//add info into temp while condition is true
while(true){temp.add(information);}//potentially throws an SQL error
//test my temo object for some codition
if(false){throw InternalError();}
}catch (SQLException e){
//send error message
}
catch (InternalError e){
//send error message
}
finally{
//whatever happens I need to send a result of some sort!
if(temp.size() > 1){
//create class member variable from this info
}
//send a message explaining that an error has occurred.
//this is the message to say if things have worked or not, so as the
//calling code can handle an re-run this method until this value returns true.
return booleanValue
}//end finally
}//end method
이 오류 메시지가 의미하는 바는 정확히 무엇인지 모르겠습니다.
나는 일반적으로 예외를 처리하는 메서드 내에서 예외를 처리합니다. 예외를 처리하는 대신이 인스턴스를 throw하고 두 가지 오류를 모두 사용자 지정 예외에서 catch해야합니까?
내가 보내는 첫 번째 2 개의 메시지는 주로 개발 목적을위한 것이며 처리해야하기 때문입니다. finally 블록의 메시지는 사용자에게 상황을 확인하거나 수정하거나 중단하고 변경하는 메시지를 궁극적으로 사용자에게 제공합니다.
컴파일러 메시지를 제거하려면 어떻게해야합니까? 나는 내 코드에서 경고를 억제하는 것을 좋아하지 않는다. 왜냐하면 내가 사슬을 따라 더 아래로 뭔가를 억압 할 수 있다는 암시를 좋아하지 않는다. 또한 억압은 전체적인 방법을위한 것이고, 나는 이것을 위해 추가 할 수 없다. 작은 코드 블록.
내 상황에 대한 조언이 있습니까?
미리 감사드립니다.
edit1 : 의견을 반영하기 위해 죄송합니다. if (test) {} 닫는 중괄호와 동일한 올바른 반환 유형 (바보 같은 실수)을 넣는 것을 잊어 버렸습니다.
추신. 'downvoted'을 가지고있는 사람들에게는 당신이 코멘트를 달고 나에게 downvoting하기 전에 편집 할 기회를 줄 수 있습니다. 감사. 또한 내 코드에서 이러한 것들이 나에게 문제가되지 않는다. 게시하는 동안 두뇌와 손가락 사이에 'quertyscript 오작동'이 일어난다.
catch의 닫는 중괄호를 if 주석의 다음 줄에 넣습니다. 그들은 지금 의견의 일부이므로 오류가 발생합니다. 또한 void 메서드는 아무 것도 반환하지 않습니다. –
이것은 "의사 코드"입니다. 이것은 아마도 문제의 근원이 아님을 의미합니다. 그러나 여기서 "의사"는 이해할 수 없을 정도로 쓰여서 관련 세부 사항을 숨 깁니다 ... – eis
'finaly'는 ** 모든 ** Java 환경에서 작동하지 않을 것입니다. 'finally'를 시도해보십시오 ... –