어떻게 C\#로 사용자 정의 이상 분석 을 만 듭 니까?

개술
이상 은 프로그램 이 실행 되 는 동안 발생 한 문제 이다.C\#의 이상 은 프로그램 이 실 행 될 때 나타 나 는 특수 한 상황 에 대한 응답 입 니 다.예 를 들 어 0 으로 나 누 려 고 시도 하 는 것 입 니 다.이상 은 프로그램 통제 권 을 한 부분 에서 다른 부분 으로 옮 기 는 방식 을 제공 했다.C\#이상 처리 시 네 가지 키워드 위 에 세 워 진 것:try,catch,finally,throw.
try:try 블록 은 활성 화 될 특정한 이상 코드 블록 을 표시 합 니 다.뒤축 하나 이상 catch 블록.catch:프로그램 이 이상 처리 프로그램 을 통 해 이상 을 포착 합 니 다.catch 키 워드 는 이상 한 캡 처 를 표시 합 니 다.finally:finally 블록 은 주어진 문 구 를 실행 하 는 데 사 용 됩 니 다.이상 이 던 져 지 든 말 든 실 행 됩 니 다.예 를 들 어 파일 을 열 면 이상 한 파일 이 있 든 없 든 닫 혀 야 합 니 다.throw:문제 가 발생 했 을 때 프로그램 이 이상 을 던 집 니 다.throw 키 워드 를 사용 하여 완성 합 니 다.
사용자 정의 이상
당신 도 자신의 이상 을 정의 할 수 있 습 니 다.사용자 정의 이상 클래스 는 응용 프로그램 Exception 클래스 에서 파생 됩 니 다.

using System;
namespace UserDefinedException
{
   class TestTemperature
   {
      static void Main(string[] args)
      {
         Temperature temp = new Temperature();
         try
         {
            temp.showTemp();
         }
         catch(TempIsZeroException e)
         {
            Console.WriteLine("TempIsZeroException: {0}", e.Message);
         }
         Console.ReadKey();
      }
   }
}
public class TempIsZeroException: ApplicationException
{
   public TempIsZeroException(string message): base(message)
   {
   }
}
public class Temperature
{
   int temperature = 0;
   public void showTemp()
   {
      if(temperature == 0)
      {
         throw (new TempIsZeroException("Zero Temperature found"));
      }
      else
      {
         Console.WriteLine("Temperature: {0}", temperature);
      }
   }
}
위의 코드 가 컴 파일 되 고 실 행 될 때 다음 과 같은 결 과 를 얻 을 수 있 습 니 다.

TempIsZeroException: Zero Temperature found
상 대 를 내던지다
이상 이 System.Exception 류 에서 직접 또는 간접 적 으로 파생 된다 면 대상 을 던 질 수 있 습 니 다.catch 블록 에서 throw 문 구 를 사용 하여 현재 대상 을 던 질 수 있 습 니 다.다음 과 같 습 니 다.

Catch(Exception e)
{
   ...
   Throw e
}
총결산
C\#사용자 정의 이상 을 만 드 는 방법 에 대한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 C\#사용자 정의 이상 내용 은 이전 글 을 검색 하거나 아래 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기