try, catch, finally의 흐름 제어는 다음 예를 사용하여 이해할 수 있습니다. 여기서 우리는 두 개의 숫자를 나눕니다 -
예시
using System;
namespace ErrorHandlingApplication {
class DivNumbers {
int result;
DivNumbers() {
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);
}
}
static void Main(string[] args) {
DivNumbers d = new DivNumbers();
d.division(25, 0);
Console.ReadKey();
}
}
} 출력
Exception caught: System.DivideByZeroException: Attempted to divide by zero. at ErrorHandlingApplication.DivNumbers.division (System.Int32 num1, System.Int32 num2) [0x00000] in :0 Result: 0
다음은 C#에서 try catch finally를 사용한 예외 처리의 흐름 제어를 보여줍니다.
- try 블록에서 예외가 발생하면 제어가 catch 블록으로 넘어갑니다.
- catch 블록이 완료된 후 finally 블록이 작동합니다.
- 예외가 발생하지 않으면 먼저 시도가 발생한 다음 마지막으로 차단하는 흐름 제어