본문 바로가기
Program Language/C#

Part1. C# 첫발 내딛기(17. DivideByZeroException과 try~catch문)

by 토담이아빠 2023. 1. 10.

 

DividByZeroException과 try ~ catch문

 

이번 포스팅은 0으로 나눌 때 발생하는 Exception과 이를 처리하는 try~catch문에 대해 간단히 정리했습니다.


DivideByZeroException과 try~catch문

 

산술연산에서 흔히하는 실수가 0으로 나누는 것입니다. 이때 발생하는 에러가 DivideByZeroException입니다. 다음 예제를 보면 0으로 나눌 시 발생하는 예외를 확인할 수 있습니다.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Operators
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int x = 10, y = 0;
            Console.WriteLine(10.0 / y);
            Console.WriteLine(x / y);
        }
    }
}

위 예제를 실행 시키면 아래와 같이 무한대의 결과가 나오며 동시에 예외 메시지가 발생합니다.



 

프로그램 실행 중에는 y값이 어떤 값인지 모를 수 있기 때문에 이런 예외의 가능성이 있습니다. 이런 예외를 처리하기 위해 try ~ catch문을 사용합니다.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DivideByZero
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int x = 10, y = 0;

            try
            {
                Console.WriteLine(x / y);
            }
            catch(Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}

try 블럭 안에서 예외가 발생하면 catch 블록을 실행합니다. 여기서는 Exception 클래스의 Message 속성을 출력합니다.


결과

0으로 나누려 했습니다.

[Review]

"초보자를 위한 C# 200제(2판)"  저자 / 강병익

댓글