가능한 중복 :
Should java try blocks be scoped as tightly as possible?try 블록 범위 제한. 그게 그렇게 중요한 건가?
은 독자에게 더 많은 정보 것을 제외하고 try 블록 [작은 크기를 유지의 모든 성능 이점은 (특히 C에서 ++ 또는 Java)이 있습니까 어떤 진술이 던질 수 있는지].
다음 메소드를 사용하면 메소드를 버리고 싶지 않습니다.
void function() throws Exception
{
statement1
statement2
statement3 // can throw
statement4
statement5
}
은 더 나은이하는 것입니다 :
옵션 1
void function()
{
try {
statement1
statement2
statement3 // can throw
statement4
statement5
}
catch (...) {
}
}
또는
옵션 2
void function()
{
statement1
statement2
boolean success = false;
try {
statement3 // can throw
success = true;
}
catch (...) {
}
if (success)
{
statement4
statement5
}
}
대부분의 구현에서 try/catch 블록은 예외가 발생할 때까지 거의 아무것도 들지 않습니다. 물론 예외가 발생하면 더 이상 성능은 신경 쓰지 말고 문제를 해결해야합니다. – GManNickG
또한 지구상에서 왜 이런 예외를 금지하고 있습니까? 즉, 옵션 1은 더 깨끗합니다. 당신과 같은 코멘트는 추한 것없이 2 번과 같은 이점을줍니다 (어떤 기능이 던질 수 있는지 아는 것). – GManNickG
@GMan 왜 내가 예외 사항을 금지합니까? 그것은 성능에 대한 나의 질문을 설명하기 위해 머리 꼭대기에있는 간단한 예 였기 때문에. 다음에 코드 스 니펫이 컴파일되지 않는다고 가정합니다. – Integer