C\#충돌 로 팝 업 된 windows 이상 탄 상 자 를 차단 합 니 다.

2796 단어 c#windows탄 틀
windows 응용 프로그램(콘 솔 포함)이 실 행 될 때 처리 되 지 않 은 이상 이 발생 하면 windows 의 이상 알림 상자 가 나 옵 니 다. 

     이 알림 상 자 는 평소에 아무런 영향 이 없다.그러나 우리 가 시작 하 는 서버 프로그램 을 사용 할 때,우리 의 요 구 는 가능 한 한 빨리 응용 프로그램 을 다시 시작 하 는 것 이 어야 한다.
그러나 이 알림 상자 로 인해 제3자 데 몬 은 응용 프로그램 이 붕 괴 된 것 을 모 르 고 종료 되 었 기 때문에 우 리 는 제때에 처리 할 수 없습니다.     
     따라서,우 리 는 프로그램 이 시 작 될 때,처리 되 지 않 은 이상 한 이 벤트 를 추가 하 는 처 리 를 다시 해 야 한다     
            C#:   AppDomain.CurrentDomain.UnhandledException
         설명:이 사건 은 캡 처 되 지 않 은 이상 을 알려 줍 니 다.프로그램 이 이상 한 정 보 를 기록 할 수 있 도록 합 니 다.시스템 기본 처리 프로그램 은 사용자 에 게 이상 보 고 를 하고 프로그램 을 종료 하기 전에.상태 에 대한 프로그램 에 대한 충분 한 정 보 를 제공 하면 더 높 은 버 전의 복구 프로그램 데 이 터 를 저장 하 는 등 다른 조 치 를 취 할 수 있 습 니 다.이상 을 처리 하지 않 을 때 프로그램 데 이 터 를 손상 시 킬 수 있 으 므 로 조심 하 는 것 을 권장 합 니 다.          
          이 사건 에서 우 리 는 여 유 롭 게 이상 을 포착 하고 기록 한 후에 재 부팅 을 종료 할 수 있 습 니 다. 
          예제 코드: 

class Program
    {
       static int m_count = 0;
       static void Main(string[] args)
       {
           AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
           while(true)
           {
              Func1();
              Thread.Sleep(10);
           }
       }
       private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
       {
           Console.WriteLine("        ,      !");
           Thread.Sleep(5000);
           Environment.Exit(-1);
       }
       static void Func1()
       {
           m_count++;
           if(m_count > 100)
           {
              throw new Exception();
           }
       }
    } 
         결과:         

총결산
위 에서 말 한 것 은 편집장 이 소개 한 C\#붕괴 로 팝 업 된 windows 이상 탄 상 자 를 차단 하 는 것 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 메 시 지 를 남 겨 주세요.편집장 은 즉시 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기