어떻게 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\#사용자 정의 이상 내용 은 이전 글 을 검색 하거나 아래 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부탁드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C#Task를 사용하여 비동기식 작업을 수행하는 방법라인이 완성된 후에 이 라인을 다시 시작할 수 없습니다.반대로 조인(Join)만 결합할 수 있습니다 (프로세스가 현재 라인을 막습니다). 임무는 조합할 수 있는 것이다. 연장을 사용하여 그것들을 한데 연결시키는 것이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.