- 예외 처리
- 사용자가 의도한 바와 다른 값을 입력하는 경우를 위한 처리가 필요
- ex:) 계산기 프로그램에 아무 값도 입력하지 않는 경우
- 예외 처리를 하지 않으면 컴파일 에러가 난다
- 빈 값을 처리하는 방법을 제시하지 않았기 때문이다
- 조건문을 통해 예외 처리를 한다
if (Sum1.Text == "")
{
MessageBox.Show("빈 칸에 숫자를 입력해주세요.");
return;
}
if (Sum2.Text == "")
{
MessageBox.Show("빈 칸에 숫자를 입력해주세요.");
return;
}
MessageBox

- Windows의 에러창
.Show
와 함께 사용
- return
- return이 포함된 함수를 탈출한다
- 함수 선언문의 반환값 자료형에 맞는 값을 넣어야 한다
if (String.IsNullOrWhiteSpace(Sum1.Text))
{
MessageBox.Show("빈 칸에 숫자를 입력해주세요.");
return;
}
if (String.IsNullOrWhiteSpace(Sum2.Text))
{
MessageBox.Show("빈 칸에 숫자를 입력해주세요.");
return;
}
String.IsNullOrWhiteSpace(String)
- 공백(
""
)과 스페이스(" "
)는 다르다
- 둘 다 반영하기 위해 사용
- Null이거나 WhiteSpace이면 true 반환
- WhiteSpace
int num1 = 0;
int num2 = 0;
if (int.TryParse(Sum1.Text, out num1) == false)
{
MessageBox.Show("Sum1에는 문자가 아닌 숫자를 입력해야 합니다.");
return;
}
if (int.TryParse(Sum2.Text, out num2) == false)
{
MessageBox.Show("Sum2에는 문자가 아닌 숫자를 입력해야 합니다.");
return;
}
int.TryParse

- int형으로 바꾸는 시도를 하는 메서드
- 결과값은 bool
.TryParse(string s, out int result)
out
: 값을 함수 안에서 받아올 수 있다
- 숫자로 바꾼 문자열을
out
인자에서 받는다
if (String.IsNullOrWhiteSpace(Sum1.Text))
{
MessageBox.Show("빈 칸에 숫자를 입력해주세요.");
Sum1.Focus();
return;
}
if (int.TryParse(Sum1.Text, out num1) == false)
{
MessageBox.Show("Sum1에는 문자가 아닌 숫자를 입력해야 합니다.");
Sum1.SelectAll();
Sum1.Focus();
return;
}
- 사용자 고려하기
.Focus()

- 강조하고 싶은 부분에 포커스를 주는 메서드
- 커서가 해당 위치로 이동하여 깜빡인다
.SelectAll()

- 입력을 바로 할 수 있도록 블록 처리하는 메서드