finally 키워드는 예외가 발생했는지 여부에 관계없이 주어진 명령문 세트를 실행하는 블록으로 사용됩니다. 예를 들어 파일을 열면 예외 발생 여부에 관계없이 파일을 닫아야 합니다.
구문
다음은 구문입니다 -
try { // statements causing exception } catch( ExceptionName e1 ) { // error handling code } catch( ExceptionName e2 ) { // error handling code } catch( ExceptionName eN ) { // error handling code } finally { // statements to be executed }
예
finally 블록을 구현하는 예를 살펴보겠습니다 -
using System; public class Demo { int result; Demo() { result = 0; } public void division(int num1, int num2) { try { result = num1 / num2; } catch (DivideByZeroException e) { Console.WriteLine("Exception caught = {0}", e); } finally { Console.WriteLine("Result = {0}", result); } } public static void Main(string[] args) { Demo d = new Demo(); d.division(100, 0); } }
출력
이것은 다음과 같은 출력을 생성합니다 -
Exception caught = System.DivideByZeroException: Attempted to divide by zero. at Demo.division(Int32 num1, Int32 num2) in d:\Windows\Temp\n0kebv45.0.cs:line 11 Result = 0