2012-11-21 2 views
1

내가catch에서 throw 문만 이해됩니까?

catch 
{ 
     throw; 

} 

같은 예외 코드는 어떤 의미가 있는가하는 경우? 함수에이 코드를 쓰지 않는다면 예외가 함수에서 비슷하게 처리되거나 차이가 있습니까?

답변

0

없음은 예외를 처리하지 않는 한, 이해가되지 않습니다, 그러나 다만

0

아니요. 실제로 별 의미가 없습니다.

일종의 로깅이나 다른 로직을 추가하지 않으면 try/catch 블록을 전혀 사용하지 않는 것과 같습니다.

0

이것은 중복됩니다. 그것은 어떤 예외라도 잡아 낸 다음 단지 그것을 다시 던지게 될 것입니다. catch을 전혀 사용하지 않는 것이 더 나을 것입니다. 결과는 동일하며 코드가 덜 복잡합니다.

0

다른 오류 처리가없는 경우 throw가 실제로 다시 throw되고 완전히 무의미합니다.

4

자체가 아무것도하지 않는 코드를 다시 던지고,하지만 그것은 가치의 의미하지 않는다. 그것을 스텁이라고 생각하십시오.

나는이 코드를 프로덕션에 적용하고, 어떤 점에서 문제가 발생하고 개발 중에 디버깅을 위해 추가 코드를 사용했는데 나중에 제거되었다 ... 뭔가 여분의 로그 메시지, MessageBox 또는 추적 호출 또는 심지어 중단 점을 넣을 수있는 no-op 종류의 줄 (string s = "";)이 있습니다. 소스 제어를 돌아 보면 그 문장을 볼 수 있습니다.

나는이 섹션이 나타나는 것보다 더 어려울 수도 있음을 상기시켜주기 위해 스텁을 남기고 싶습니다.

임의의 코드 비트를 보면이 코드가 많이 있습니다. 더 잘 모르는 사람은 try/catch 블록이 있어야한다고 생각하기 때문입니다.

+0

디버깅에 도움이됩니다. –

관련 문제