간단한 질문이 있습니다. 다음의 두 개의 코드에 제 return
문에서 finally
블록
finally 블록이있는 메서드에서 return 문을 배치합니다.
public int method1(){
try{
// Some Stuff
} catch(Exception e){
e.printStackTrace();
} finally{
return 0;
}
}
둘째 return
문 내부에 배치된다
public int method1(){
try{
// Some Stuff
} catch(Exception e){
e.printStackTrace();
} finally{
}
return 0;
}
두 간의 차이가 정상적으로 배치? 그리고 더 나은 옵션으로 사용할 수 있습니까? 왜?
finally 블록 내에 return 문을 사용해서는 안됩니다. 이렇게하면 try 블록에서 수행 된 작업을 덮어 쓸 수 있으며 실제로 복잡한 논리로 이어질 수 있습니다. –
finally 블록에 반환되는 모든 항목은 try/catch 블록 내에있는 예외 또는 반환 값을 실제로 재정의합니다. –