본문 바로가기

개발&새발/ASP.Net

의도적으로 exception을 전달할때 스택정보를 유지하라


원문 - http://msdn.microsoft.com/ko-kr/library/ms182363.aspx


Visual Studio의 좋은 기능중 하나가

관리코드를 분석해 주는 기능인 '코드 분석 실행'이다.

필요한 모듈을 코드 분석 실행을 하면 각 프레임웍을 통해 만들어진 관리코드(CIL)를 분석하고 MS에서 권장하는 개발 방법에 적합한 가이드를 제시해 준다.


그중에 "CA2200: 스택 정보를 유지하도록 다시 throw하십시오." 라는 메세지가 있는데

의도적으로 exception을 잡아서 throw하는 경우

우리는 의도적으로 옛날 스타일인 'throw ex;'와 같와 같은 방법을 쓰는데

이렇게 작성한 경우 exception의 스택정보가 그 시점부터 새로 시작되기 때문에

굳이 날릴필요 없는 이전의 스택정보가 날라간다는 것이다.

그래서 가이드 하는 것이 그냥 'throw;'.


간단함.