일부 매개 변수와 함께 호출 할 때 무시할 수있는 예외를 throw하는 일부 외부 코드를 사용하고 있습니다. 불행히도 나는이 외부 코드를 여러 가지 이유로 변경할 수 없다.생성 된 코드를 피하십시오.
[DebuggerStepThrough]
public static bool TryGetXXX(string input, out string output)
{
try
{
output = MethodThatSometimesFails(input);
return true;
}
catch
{
output = null;
return false;
}
}
private static string MethodThatSometimesFails(string input)
{
// Don't want this to cause a break
// but can not put the attribute on this method
throw new Exception("couldnt deal with your request");
}
불행하게도하지만, 외부 코드는 여전히 MethodThatSometimesFails
내부 예외에 중단됩니다
내가 이렇게 보이는 래퍼 방법을 만들었습니다. [DebuggerStepThrough]
은 위의 코드를 디버깅하는 것을 피할 수 있지만 호출 된 코드는 계속 throw됩니다.
내가 원하는 것은 코드가 "예외 ..."창에있는 모든 확인란을 선택하더라도 실행된다는 것입니다. 이것을 할 수있는 속성이 있습니까?
속성이 없으면 이러한 클래스/메소드가 포함 된 프로젝트를 만들고 전체 프로젝트를 제외 할 수 있습니다. 이것을 할 수있는 방법이 있습니까?
예외가 AppDomain 설정을 통과 할 때 도구 -> 옵토인 -> 디버깅 -> 중단은 어떻게됩니까? http://social.msdn.microsoft.com/Forums/en-US/csharpide/thread/a4c32d57-9046-41c4-bf8b-3718ff474847/ –
디버거 구성 설정 인 Debug + Exceptions, Thrown 확인란 때문에이 문제가 발생합니다. 할 수있는 일은 없지만 그 체크 박스를 해제하십시오. –
이 메서드 외부에있는 다른 예외를 throw하고이를 볼 수있게하려면 throw 된 체크 상자를 해제하지 않는 것이이 질문의 목적입니다. 개발자로서 개발 단계에서 코드의 일부에 예외가 발생하는지 항상 알고 싶습니다. 오류의 원인은 ApplicationException이므로이 항목을 선택 취소하여 제한해야하는 범위가 상당히 넓습니다. – Blueberry