>  기사  >  백엔드 개발  >  드디어 C#

드디어 C#

WBOY
WBOY원래의
2024-09-03 15:22:12688검색

현재 프로그래밍 중인 메소드를 종료하는 예외로 인해 오류가 발생할 수 있으며, 해당 메소드가 현재 메소드 종료와 함께 닫아야 할 파일이나 네트워크를 열었을 것입니다. 이러한 문제를 극복하기 위해 C#에는 finally라는 특수 예약 키워드가 있습니다. 이 finally 코드 블록은 try 및 catch 블록의 실행이 중지될 때 실행됩니다. 조건에 관계없이 실행이 중지되지만 실행이 중지되지는 않습니다. Try 블록의 실행이 정상적으로 중지되거나 예외로 인해 중지되는지 여부가 중요합니다. 코드의 finally 블록이 실행되고 사용된 리소스를 해제하는 것이 finally 코드 블록의 주요 목표이며 코드의 try 및 catch 블록 뒤에 작성됩니다. .

구문:

try
{
//Block of code
}
// this can be optional
catch
{
//Block of code
}
finally
{
//Block of code
}

C#에서 finally 키워드 작업

  • try 블록에 할당된 모든 리소스는 finally 코드 블록을 사용하여 정리할 수 있으며 try 블록에서 발생한 예외에 관계없이 finally 코드 블록이 실행됩니다.
  • Finally 코드 블록의 문은 컨트롤이 코드의 try 블록을 떠날 때 실행됩니다. 정상적인 실행이나 goto문, break문, continue문, return문 실행의 일부로 제어권이 넘어갑니다.
  • 예외 처리가 있는 경우 이와 관련된 finally 코드 블록이 확실히 실행되고, 예외 처리가 없는 경우 finally 코드 블록의 실행은 예외 해제 작업의 트리거링에 따라 달라지며, 이는 차례로 컴퓨터를 설정하세요.
  • C#의 동일한 프로그램에는 finally 코드 블록이 두 개 이상 있을 수 없습니다.
  • finally 블록에는 goto 문, break 문, continue 문, return 문이 없기 때문에 제어가 finally 블록을 벗어나지 않습니다.

C# 최종 구현 예시

다음은 C# finally의 예입니다.

예시 #1

프로그램에서 finally 코드 블록을 사용하는 방법을 보여주는 C# 프로그램

코드:

using System;
//a class called program is defined
class program
{
// a method called ClassA() is defined
static void ClassA()
{
try
{
Console.WriteLine("We are inside class A");
//An exception is thrown
throw new Exception("An exception is thrown");
}
//finally block is executed regardless of the exception is handled or not
finally
{
Console.WriteLine("This is the finally block of Class A");
}
}
// a method called ClassB() is defined
static void ClassB()
{
try
{
Console.WriteLine("We are Inside class B");
return;
}
//finally block is executed regardless of the exception is handled or not
finally
{
Console.WriteLine("This is the finally block of class B");
}
}
// Main Method is called
public static void Main(String[] args)
{
try
{
ClassA();
}
catch (Exception)
{
Console.WriteLine("The exception that is thrown is caught");
}
ClassB();
}
}

출력:

드디어 C#

설명: 위 프로그램에서 프로그램은 정의된 클래스입니다. 그런 다음 Try 및 finally 코드 블록이 작성되는 ClassA라는 메서드가 정의됩니다. try 블록은 나중에 포착되는 예외를 발생시킵니다. 그런 다음 예외 처리 여부에 관계없이 finally 블록이 실행됩니다. 그런 다음 ClassB라는 메서드가 정의됩니다. 그런 다음 예외 처리 여부에 관계없이 finally 블록이 실행됩니다. 그런 다음 메인 메소드가 호출됩니다.

예시 #2

예외 처리 기능이 있는 프로그램에서 finally 키워드 사용을 보여주는 C# 프로그램

코드:

using System;
//a class called program is defined
public class program
{
// Main Method is called
static public void Main()
{
// two integer variables are defined to store two integers
intnum = 10;
int div = 0;
//try and catch block is defined in which an exception is raised by try block and is handled by catch block
try
{
int op = num / div;
}
catch (DivideByZeroException)
{
Console.WriteLine("The divisor can not be zero because it is impossible to divide by 0");
}
// finally block is executed regardless of the exception is handled or not
finally
{
Console.WriteLine("We are in the finally block");
}
}
}

출력:

드디어 C#

설명: 위 프로그램에는 program이라는 클래스가 정의되어 있습니다. 그런 다음 기본 메서드가 호출됩니다. 그런 다음 두 개의 정수 변수를 정의하여 두 개의 정수를 저장합니다. 그런 다음 try 블록에 의해 예외가 발생하고 catch 블록에 의해 처리되는 try 및 catch 블록이 정의됩니다. 그런 다음 예외 처리 여부에 관계없이 마지막으로 블록이 실행됩니다.

예시 #3

예외 처리가 없는 프로그램에서 finally 키워드 사용을 보여주는 C# 프로그램

코드:

using System;
//a class called program is defined
public class program
{
// Main Method is called
static public void Main()
{
// two integer variables are defined to store two integers
intnum = 10;
int div = 0;
//try and catch block is defined in which an exception is raised by try block and is handled by catch block
try
{
int op = num / div;
}
// finally block is executed regardless of the exception is handled or not
finally
{
Console.WriteLine("We are in the finally block");
}
}
}

출력:

드디어 C#

설명: 위 프로그램에는 program이라는 클래스가 정의되어 있습니다. 그런 다음 기본 메서드가 호출됩니다. 그런 다음 두 개의 정수 변수를 정의하여 두 개의 정수를 저장합니다. 그런 다음 try 블록이 정의됩니다. 그런 다음 예외 처리 여부에 관계없이 finally 블록이 실행됩니다. 프로그램의 출력은 위의 스냅샷에 표시됩니다.

장점

  1. 마지막으로 코드 블록은 예외 발생 여부와 같이 try 블록 내에서 어떤 일이 발생하는지에 관계없이 실행됩니다. return 문이 있으면 아무 것도 중요하지 않습니다.
  2. 코드의 finally 블록의 주요 용도는 try 블록에 할당된 값비싼 리소스를 모두 해제하는 것입니다.
  3. 마지막으로 블록은 발생한 예외에 관계없이 작업이 수행되도록 보장합니다.

결론: 이 튜토리얼에서는 정의, 구문, 프로그래밍 예제 작업 및 해당 출력을 통해 C#의 finally 키워드 개념을 이해합니다.

추천기사

C# finally에 대한 안내입니다. 여기서는 마지막으로 C# 소개와 그 장점, 예제 및 코드 구현에 대해 논의합니다. 더 자세히 알아보려면 다른 추천 기사를 살펴보세요. –

  1. C#의 난수 생성기란 무엇인가요?
  2. Java의 정적 생성자 | 근무 | 애플리케이션
  3. C#의 TextWriter | 예시
  4. C#에서 정적 생성자를 어떻게 사용하나요?

위 내용은 드디어 C#의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.