2012-03-09 5 views
-4

반환 값을 찾아야 할 때 반환 값이 없으면 예외가 반환됩니다. 찾을 수 값이 때로는 예상하지 않은 경우 경우 (캐릭터를 할 때반환 값에 대한 시나리오

, 나는이 유효한 문자열의 가정을 피할 것 (null를 돌려! = "")

하는 방법에 대한이 유효 복귀 시나리오는 어떤 문자열을 반환?

감사

+0

음 ... 방법은 당신이하고 싶은 일을합니까? 그렇다면 유효합니다. – Msonic

+0

유효하지 않은 값이없는 경우 빈 문자열을 반환합니다. 그런 다음 반환 된 문자열의 길이를 if (foo.Length> 0)로만 확인하면됩니다. 또는 String.IsNullOrEmpty (foo)를 사용하여 두 값을 잡을 수 있습니다. 이 중 하나가 str! = ""보다 낫습니다. – DOK

+0

그래, 항상 string.IsNullOrEmpty를 선호하고 이것을 사용하는 지점을 만듭니다. – dotnetdev

답변

1

개인적으로 이런 식으로 프로그램 흐름에 대한 예외 사용을 피할 것입니다. 계속할 수없는 상황에 대해서는 예외를 예약해야합니다.

또한, 문자열 테스트를 위해 내가 string.IsNullOrEmpty을 사용하십시오

+1

우리는 발견되지 않는 값이 처리를 중지해야만하는 (* 예외가 적절한 경우) 또는 합법적 인 상황인지 여부를 알 수있는 충분한 정보가 없다 (이 경우에는 그렇지 않을 수도 있음) . –

+0

물론,하지만 여전히 오히려 반환 값을 요청한 코드를 던져 넣을 것입니다. 코드를 가져 오는 코드가 아닙니다. YMMV. – Cronan

+1

시나리오에 따라 다릅니다. 여기에 충분한 정보가 부족합니다. * 항상 * 오류가있는 경우 모든 단일 발신자에게이 체크를 강제로 적용해야하는 이유는 무엇입니까? 파일을 찾을 수 없으면'File.Open'이'null'을 리턴할까요? –

0

이 응용 프로그램의 설계에 전적으로 의존하지만,에 (매우) 넓은 의미, 그래,이 반환 값은 할 의미.

그러나 어느 경우에 , 모두 문서화했는지 확인하십시오. 반환 케이스의 명확하게.

관련 문제