2010-07-30 1 views
4

지난 한 해 동안 SharePoint 2007/2010에서 페이지와 웹 파트를 개발했습니다. 내 코드에 항상 포함시키는 것들 중 하나는 try/catch 블록을 사용하여 예외가 발생하면 오류 처리를 처리하는 것입니다. 이렇게하면 웹 파트가 손상된 경우 페이지 상단이나 전체 페이지 오류가 아니라 해당 웹 파트의 사용자에게 멋진 오류 메시지가 표시됩니다. 나는이 과정에서 문제가 없지만 try/catch 블록을 사용하는 접근법에 대한 약간의 의견을 찾고있다. (성능에 영향이있을 수 있음을 이해함).C#의 SharePoint 개발 + 오류 처리를위한 최선의 방법

일반적으로 DB 또는 웹 서비스 호출을 수행 할 때 항상 try/catch 블록을 사용합니다. 복잡한 논리가 구현되어 있다면 (심지어 모든 다른 경우를 테스트 할 수 없었습니다.) try/catch 블록에 일반 C# 코드를 래핑하기도합니다. 때로는 약간의 편집증 만 있으면 전체 웹 파트의 모든 코드를 try/catch로 래핑합니다.

일반적인 C# 개발과 특히 SharePoint 환경에서 C# 개발을 위해 try/catch 블록 사용에 대한 피드백을 얻을 수 있습니까? 또한 SharePoint 솔루션을 개발하는 동안 C# 코드에 try/catch를 효과적으로 포함시키는 방법을 이해하고 싶습니다. (더 많은 글로벌 방식이 있습니까?)

감사합니다.

답변

1

SharePoint에서 오류 처리 기능을 사용하면 일반적으로 성능에 초점을 맞 춥니 다. 퍼포먼스에 대해 걱정이된다면, 가능할 때마다 예외를 발생시키는 것이 좋을 것입니다. 보통 try/catch 블록을 사용하여 "입구"메소드를 래핑합니다. 예를 들어 asp.net 양식, 웹 파트, 사용자 컨트롤 등의 이벤트 처리기를 예로 들어 보겠습니다. 그런 다음 사용자 정의 예외 유형을 던지고 오류 메시지를 사용자 정의하려는 경우 유틸리티, 데이터 액세스 등의 코드를 감쌀 것입니다.

불행히도 SharePoint에서 오류를 처리하는 글로벌 방법을 찾지 못했습니다. 나는 'this'와 예외 객체에서 전달하는 웹 파트에 대해 HandleError 유틸리티 메소드를 수행했다. (WSPBuilder Extensions 웹 파트 항목에는 실제로이 기능이 잘 구현되어 있습니다.) try/catch 블록 자체는 여전히 웹 파트 이벤트 핸들러에 로컬입니다.

+0

우리는 대부분 이것을 수행합니다. 우리의 가장 큰 장점은 CreateChildControls에서 Try/catch가 대부분의 오류를 잡는 것입니다. –

관련 문제