2012-04-22 5 views
0

컬렉션에서 요소를 가져 오려고하는 경우 (그 값이 있어야 함) 가장 좋은 동작 방법은 무엇입니까? null를 돌려 주겠습니까?컬렉션을 반환하는 메서드를 사용한 오류 처리 방법

또한 컬렉션에서 요소를 가져 오려고하지만 그 값이 없으면 (즉, 치명적이지는 않습니다.) 엄격한 조치가 무엇입니까?

마지막으로 메소드에서 콜렉션이 반환되고 비어있는 경우, 치명적인 경우와 그렇지 않은 경우에는 aciton의 가장 좋은 코스가 예외를 throw한다고 추측합니다.

이 항목을 반환하거나 throw합니다 어느 쪽이든 하나는 것입니다 보장의 감사

+0

코드 일부를 붙여 넣어야합니다. – jorgebg

+0

"우수 사례"는 주관적이라고 생각합니다. 우리 팀에서는 데이터 액세스 레이어가 오류가 발생하면 null을 반환하고 Business Logic 레이어는 수행 할 작업 (치명적인 오류 일 경우 예외가 발생할 수 있음)을 결정합니다. – Ulises

+0

코드 샘플이 없으므로 가상으로 표시되지만 많은 문제를 야기했습니다 타임스. 흠 흥미로운 조언 Ulises. – dotnetdev

답변

0

방법의 한 쌍을 제공하기 위해 일반적으로 도움이된다, 다른 하나는이 또는 항목을 반환하지 않을 수 있음을 보장합니다 컬렉션이 어떤 방식으로 (요청 된 아이템이 존재하지 않는 것 이상으로) 손상된 경우에만 던질 것입니다. 어떤 사람들은 매개 변수를 사용하여 항목을 찾을 수없는 경우 메서드가 던져야하는지 여부를 나타내는 개념을 싫어합니다. 매개 변수의 사용이 원하는 함수의 변형을 나타내는 기본 수단이되어서는 안되며 그러한 매개 변수로 인해 과부하가 발생하면 중복 된 코드를 피할 때 유용 할 수 있습니다.

관련 문제