[Alongside] 예제로 배우는 C#_04
- 예외 처리
- 사용자가 의도한 바와 다른 값을 입력하는 경우를 위한 처리가 필요
- ex:) 계산기 프로그램에 아무 값도 입력하지 않는 경우
- 예외 처리를 하지 않으면 컴파일 에러가 난다
- 빈 값을 처리하는 방법을 제시하지 않았기 때문이다
- 조건문을 통해 예외 처리를 한다
if (Sum1.Text == "")
{
MessageBox.Show("빈 칸에 숫자를 입력해주세요.");
return;
}
if (Sum2.Text == "")
{
MessageBox.Show("빈 칸에 숫자를 입력해주세요.");
return;
}
MessageBox
- Windows의 에러창
.Show
와 함께 사용
- return
- return이 포함된 함수를 탈출한다
- 함수 선언문의 반환값 자료형에 맞는 값을 넣어야 한다
- int >> 숫자
- ex:)
return 0;
if (String.IsNullOrWhiteSpace(Sum1.Text))
{
MessageBox.Show("빈 칸에 숫자를 입력해주세요.");
return;
}
if (String.IsNullOrWhiteSpace(Sum2.Text))
{
MessageBox.Show("빈 칸에 숫자를 입력해주세요.");
return;
}
String.IsNullOrWhiteSpace(String)
- 공백(
""
)과 스페이스(" "
)는 다르다 - 둘 다 반영하기 위해 사용
- Null이거나 WhiteSpace이면 true 반환
- WhiteSpace
- 빈 문자열
- TAB
- 공백(
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
- int형으로 바꿀 수 있으면 true
.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()
- 입력을 바로 할 수 있도록 블록 처리하는 메서드
Author And Source
이 문제에 관하여([Alongside] 예제로 배우는 C#_04), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@tataki26/Alongside-예제로-배우는-C04저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)