현재 프로그래밍 중인 메소드를 종료하는 예외로 인해 오류가 발생할 수 있으며, 해당 메소드가 현재 메소드 종료와 함께 닫아야 할 파일이나 네트워크를 열었을 것입니다. 이러한 문제를 극복하기 위해 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의 예입니다.
프로그램에서 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(); } }
출력:
설명: 위 프로그램에서 프로그램은 정의된 클래스입니다. 그런 다음 Try 및 finally 코드 블록이 작성되는 ClassA라는 메서드가 정의됩니다. try 블록은 나중에 포착되는 예외를 발생시킵니다. 그런 다음 예외 처리 여부에 관계없이 finally 블록이 실행됩니다. 그런 다음 ClassB라는 메서드가 정의됩니다. 그런 다음 예외 처리 여부에 관계없이 finally 블록이 실행됩니다. 그런 다음 메인 메소드가 호출됩니다.
예외 처리 기능이 있는 프로그램에서 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"); } } }
출력:
설명: 위 프로그램에는 program이라는 클래스가 정의되어 있습니다. 그런 다음 기본 메서드가 호출됩니다. 그런 다음 두 개의 정수 변수를 정의하여 두 개의 정수를 저장합니다. 그런 다음 try 블록에 의해 예외가 발생하고 catch 블록에 의해 처리되는 try 및 catch 블록이 정의됩니다. 그런 다음 예외 처리 여부에 관계없이 마지막으로 블록이 실행됩니다.
예외 처리가 없는 프로그램에서 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"); } } }
출력:
설명: 위 프로그램에는 program이라는 클래스가 정의되어 있습니다. 그런 다음 기본 메서드가 호출됩니다. 그런 다음 두 개의 정수 변수를 정의하여 두 개의 정수를 저장합니다. 그런 다음 try 블록이 정의됩니다. 그런 다음 예외 처리 여부에 관계없이 finally 블록이 실행됩니다. 프로그램의 출력은 위의 스냅샷에 표시됩니다.
결론: 이 튜토리얼에서는 정의, 구문, 프로그래밍 예제 작업 및 해당 출력을 통해 C#의 finally 키워드 개념을 이해합니다.
C# finally에 대한 안내입니다. 여기서는 마지막으로 C# 소개와 그 장점, 예제 및 코드 구현에 대해 논의합니다. 더 자세히 알아보려면 다른 추천 기사를 살펴보세요. –
위 내용은 드디어 C#의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!