2014-04-02 3 views
0

내 응용 프로그램에서 명령은 서비스에서 가져와 foreach 루프로 이동하여 ItemSource에 추가되었습니다. 그것의가는 동안, DateTime을 변환 할 장소가 있습니다. 값에 따라 예외가 발생합니다. 나는 다음과 같이 코드를 작성할 수 있습니다중첩 된 try-catch 블록에서 예외 던지지 않음

public void MyMethod() 
{ 
    try 
    { 
     foreach (var item in Orders) 
     { 
      DateTime date; 

      try 
      { 
       date = item.Date; 
      } 

      catch 
      { 
       date = DateTime.Now; 
      } 
     } 
    } 

    catch 
    { 
    } 
} 

을하지만 인라인 catch 블록에서 try 블록에서 날짜 형식의 예외를 던지고, 그 던져 예외와 그 예외가 외부 catch 블록에 전달할 때 문제이다. 그래서 나는 그 봉사에서 모든 명령을받지 못했습니다.

누구든지 해결책을 제안 할 수 있습니까?

+0

마지막 단락을 이해하고 있는지 확실하지 않습니다. 귀하의 예외가 catch 블록에 잡히지 않았다면 우리에게 [SSCCE] (http://www.sscce.org/) –

답변

0

'for'루프에서 오류가 발생했을 수 있습니다.

두 경우 모두 어떤 예외가 발생했는지 게시 할 수 있습니까? Visual Studio에서 프로그램을 일시 중지하면 예외의 이름 인 'NullReferenceException'과 같은 내용이 표시 될 수 있습니다.

예외를 지정하면 올바른 'catch'블록을 사용할 수 있습니다. 예외가 무엇인지 알 때 코드를 도출합니다.

+0

을 보내 주셔서 감사합니다. 그것의 FormatException – Programmer

+0

이것은 홀수이며, FormatException은'date = DateTime.Now;'에 던져 져야만 외부의'catch' 블록이 그것을 잡을 수 있습니다. 왜 그런 일이 일어날 지 이해할 수 없습니다. 바깥 쪽 catch를'catch (FormatException e)'로 바꾸고 프로그램이 충돌하는지 알려주십시오. – Amandil

관련 문제