다크호스 프로그래머C#에 대한 예외 처리 메커니즘
.NET 프레임워크는 구조화된 예외 처리라는 표준 오류 보고 메커니즘을 제공합니다.이런 메커니즘은 응용 프로그램에서 오류를 보고하는 이상에 의존한다.
에 있습니다.NET에서 이상은 오류 정보를 제공하는 클래스입니다. 어떤 방식으로 코드를 작성해서 이상 발생을 감시하고 적당한 방법으로 이상을 처리할 수 있습니다.
C#이상 처리를 할 때, 코드에서 세 가지 부분을 주목해야 한다. 이상을 초래할 수 있는 코드 세그먼트이다. (이것도 통상적으로 이상을 던지는 것이라고 부른다.)코드를 실행하는 과정에서 이상이 발생하면 실행할 코드 세그먼트입니다.
프로그래밍 프로그램에 오류가 발생하는 것은 항상 불가피하지만, 우리는 가능한 한 오류를 피하거나, 오류의 영향을 최소화하기 위해 여러 가지 방법을 사용해야 한다.그래서 우리가 어떤 프로그램을 쓰든 C#의 비정상 처리 방식을 사용해야 한다.1.저기 있다.NET에서 오류를 잡으면!문 사용:
try
{
//
}
catch()
{
//
}
finally
{
// try catch , 。
}
코드의 실행 단계:
(1) 실행된 프로그램이try에 들어갑니다.
(2)try에서 오류가 발생하지 않으면catch를 건너뛰고finally를 실행합니다.try에서 오류가 발생하면catch에서 오류를 처리합니다.
(3)catch에서 오류 처리
(4)catch에서 오류가 발생하면finally에서 실행됩니다.
(5)finally를 실행합니다.
간단한 예:
int i, x, y;
try
{
i = x / y;
}
catch(Exception ex)
{
Console.WriterLine(“ 0”);
i = 0;
}
finally
{
return i;
}
2. 사용자 정의 오류 메시지 던지기
예:
public int Div(int x, int y)
{
int z = x / y;
if(y == 0)
{
throw new Exception(“ 0”);
}
return z;
}
try
{
i = Div(x, y)
}
catch(Exception ex)
{
Console.WriterLine(ex.message());
}
입력한 결과: 제수 0
예외에 대해 주의해야 할 경우:
(1) 이상을 사용하여 정상적인 실행 과정 중의 프로그램 절차를 변경해서는 안 된다.이상은 오류 조건을 보고하고 처리하는 데만 사용할 수 있습니다.
(2)try,catch를 무제한으로 사용해서 프로그램에 존재할 수 있는 오류를 숨겨서는 안 된다.
(3) 이상을 일으킬 수 있을 뿐 반환값이나 파라미터로 이상을 반환할 수 없다.뚜렷한 오류에 대해서는 이상을 던지는 것이 아니라 오류를 처리해야 한다.
(4)try,catch를 사용하여 프로그램의 흐름을 제어해서는 안 된다.
3. 사용자 정의 예외
C#의 모든 예외 유형은 System에서 상속됩니다.Exception, 즉 System.Exception은 모든 예외 클래스의 기본 클래스입니다.총괄적으로 말하면 그 파생류는 두 가지로 나뉜다.
(1) SystemException 클래스: 모든 CLR에서 제공하는 예외 유형은 SystemException에서 파생됩니다.
(2) ApplicationException 클래스: 사용자 프로그램에서 발생하여 사용자 정의의 이상 유형을 파생시키는 데 사용되며 일반적으로 실례화하지 않습니다.
사용자 정의 예외 클래스를 만들려면 다음과 같은 몇 가지 지침을 준수해야 합니다.
(1) 성명 서열화 (계열화에 사용되며, 물론 서열화가 필요하지 않으면 서열화로 성명하지 않아도 된다)
(2) 기본 구조 함수 추가
(3) 메시지 포함 구조 함수 추가
(4) 메시지 및 내부 이상 형식 파라미터를 포함하는 구조 함수 추가
(5) 서열화된 정보 관련 매개 변수의 구조 함수를 추가한다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다: