[Alongside] 예제로 배우는 C#_04

타키탸키·2021년 12월 11일
0

C언어(C, C++, C#)

목록 보기
10/14
  • 예외 처리
    • 사용자가 의도한 바와 다른 값을 입력하는 경우를 위한 처리가 필요
    • 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()
      • 입력을 바로 할 수 있도록 블록 처리하는 메서드
profile
There's Only One Thing To Do: Learn All We Can

0개의 댓글