이번 포스팅은 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판)" 저자 / 강병익
'Program Language > C#' 카테고리의 다른 글
Part1. C# 첫발 내딛기(19. 논리 연산자) (0) | 2023.01.11 |
---|---|
Part1. C# 첫발 내딛기(18. OverflowException 과 Checked 키워드) (2) | 2023.01.11 |
Part1. C# 첫발 내딛기(16. 산술 연산자) (0) | 2023.01.09 |
Part1. C# 첫발 내딛기(15. C# 연산자와 식) (0) | 2023.01.09 |
Part1. C# 첫발 내딛기(14. Convert 클래스) (2) | 2023.01.09 |
댓글