Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 0으로 나누기 예외(DivideByZeroException)를 처리하는 방법

C#의 DivideByZeroException이란?

System.DivideByZeroException은 어떤 수를 0으로 나누려고 할 때 발생하는 오류를 처리하기 위한 클래스입니다. C#에서는 try-catch 블록을 사용해 이 예외를 안전하게 잡아낼 수 있으며, 이를 통해 프로그램이 비정상적으로 종료되는 것을 방지하고 안정성을 높일 수 있습니다.

예제 코드

다음은 0으로 나누기 예외를 캡처하는 방법을 보여주는 전체 예제입니다.

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();
      }
   }
}

코드 설명

  • try 블록: 나눗셈 연산(result = num1 / num2)이 실행되는 부분입니다.
  • catch 블록: num2가 0이면 DivideByZeroException이 발생하며, 이 예외를 잡아 예외 정보를 콘솔에 출력합니다.
  • finally 블록: 예외 발생 여부와 관계없이 항상 실행되어 현재까지의 결과값을 출력합니다.

실행 결과

위 예제에서는 division 메서드에 num1 = 25, num2 = 0 값을 전달합니다.

result = num1 / num2;

num2가 0으로 설정되어 있으므로 나눗셈을 수행하는 순간 DivideByZeroException이 발생하고, 미리 작성해 둔 catch 블록이 이 예외를 정상적으로 처리합니다. 또한 finally 블록은 예외와 무관하게 항상 실행되기 때문에 결과값도 함께 출력됩니다.