2011-04-14 5 views
0

예외 유형이 의미하는 것은 무엇입니까?신비 InvalidOperationException

"실행 취소 작업에 해당 설정 작업에 적용된 것과 다른 컨텍스트가 발생했습니다."

나는 예외가 발생하는 위치를 찾기 위해 노력하고 5 시간에 걸쳐서 지출 ((

갱신

mistake..but이 그렇게 방법을 알아낼 수 없습니다 발견 misinformation..i 죄송

주 스레드에서 새 양식을 만들고 form.showDialog를 호출하는 작업자 스레드를 만듭니다. form.Close 응용 프로그램이 종료 된 후 죽습니다. ((

+1

예외가 어디서 왔는지, 사용중인 기술, 코드가 어떻게 보이는지, 스택 추적이 어떻게되는지 등을 설명하면 도움이 될 것입니다. –

+1

시도하는 데 5 시간을 소비하면 해결책을 찾으면 질문을 표현하는 데 1 분 이상을 소비해야합니다. 아무도 당신이 쓴 것을 도울 수 없습니다. 코드 예제를 제공하고 무엇을하고 있는지 알려주십시오! – Christian

+0

.net 4.0 프레임 워크를 사용하고 있습니다. 정확한 예외가 발생하는 곳을 찾을 수 없습니다. '처리되지 않은'예외 만 잡습니다. 코드 줄 또는 e.t.c에 대한 정보가 없습니다. – void

답변

0

) 예외는 뭔가 나쁜 점이 있음을 알리기 위해 보내는 메시지입니다 pened. 일반적으로 나쁜 상황에 대한 추가 정보가 있습니다.

물 아래에서 표면까지 오는 거품과 같습니다. 아무도 catch이 없다면, 당신에게 표시됩니다 (여기에 이름은 unhandled exception입니다).

코드에서 unhandled exception을 피해야하며 모든 나쁜 상황에 대해 생각하고 뭔가를해야합니다. 예를 들어 프로그램에서 CD에 무언가를 쓰고 CD-ROM에 CD가 없다면 사용자에게 메시지를 보여주고 CD-ROM에 CD를 넣으라고 지시해야합니다. 코드에서이 같은이 될 것 무언가 :

try 
{ 
    // Copy file to CD 
    // Show message: File Copied successfully 
} 
catch (Exception ex) 
{ 
    // Something wrong happened: there's no CD in CD-ROM, CD has not enough space... 
    // Show message: Cannot copy file! 
} 

위의 예 ex에서이 Exception의 유형이고 나쁜 상황에 대해 몇 가지 세부 사항이 있습니다. 보시다시피 라인 // Copy file to CD 후 사용자에게 성공 메시지를 표시하려고합니다. 왜냐하면 우리가 나쁜 상황에 빠졌고 그것에 대한 정보를 가지고 있기 때문에 우리가 // Copy file to CD 행에서 실패하자마자 프로그램은 catch 부분에서 재개 될 것입니다. 위의 예에서 try/catch을 사용하지 않고 다른 코드에서 사용하면 unhandled exception이되기 전에 exception을 얻을 수 있습니다.

+0

try/catch를 사용하는 방법을 알고 있지만 찾을 수 없습니다. 예외가 발생할 수있는 코드의 평화예를 들어 다른 스레드를 실행하는 try/catch 코드를 catch하고 다른 trhead try/cathc에서 throw 된 예외가 나를 도왔다면 ( – void

+0

버그 코드를 실행 한 스레드에서 예외가 발생합니다.) 다른 스레드는 공유 객체를 사용해야하며 다른 스레드에게 잘못된 점을 알려야합니다. – Xaqron