코딩 공부/패스트캠퍼스 게임 개발 올인원

패스트캠퍼스 챌린지 30일차

잘자라는스투키 2022. 2. 22. 21:08
반응형

[C# 프로그래밍 : 클래스 개념 꽉잡기 - 예외처리1]

 

1. try~catch

  • try{정상실행될때 코드}catch{예외 객체){예외발생때 실행되는 코드}

 

2. System.Exception : 예외 클래스의 최상위 베이스 클래스 

  • e.Message : 예외 원인에 대한 정보 제공
  • Exception : 모든 예외. 모든 오류를 다 잡아내지만 필터링못하는 경우가 있음. 예외 잡아내기 힘듬. 그래서 구체적인 예외 객체 다음에 작성하는 걸 추천. 만약 순서 틀리면 Exception이 다 잡아버리기 때문에 오류 뜸.
  • FormatException : 오류메세지 입력문자열의 형식이 잘못되었습니다.
  • OverflowException : 산술 연산으로 인해 오버 플로가 발생했습니다.

 

3. throw

  • thow를 통해 예외 객체를 던지고 catch문으로 받음
  • 주로 함수에서 사용
  • throw new Exception("오류생성시 출력될 메세지 작성"); +cactch(Exception e){...}로이동

- 상위 호출 메소드로 예외 객체를 전달하는 경우

static void ThrowFunc(int data) {
            if(data > 0) {
                Console.WriteLine("ThrowFunc data: " + data);
            }
            else {
                throw new Exception("data에 0이 입력되었습니다.");
            }
        }
        
static void Main(string[] args) {
            try {
                ThrowFunc(10);
                ThrowFunc(100);
                ThrowFunc(0);
                ThrowFunc(1000);
            }
            catch(Exception e) {
                Console.WriteLine(e.Message);
            }
}

- 조건 연산자에서 사용

//?,??
int? a = null; //nullable int값은 물론 null값도 저장할 수 있음
try {
 	int b = a ?? throw new ArgumentNullException(); //b값이 null이면 ??이후 실행(throw를 던져라)
}
catch(ArgumentNullException e) {
                Console.WriteLine(e.Message);
}

// ?  : 삼항연산자
int result = 101;
try {
     int checkNum = (result < 100) ? result : throw new Exception("100 이하만 가능");
     //checkNum이 조건(result<100)을 부합하면 result, 아니면 throw.
}catch(Exception e) {
      Console.WriteLine(e.Message);
}

 


조금만 더하면 C# 강의가 마무리 된다. 몇강 남지 않았다.

오늘 강의 내용은 쉬운 편이었지만 과연 지금껏 배운 내용은  내가 잘 이해했는지 의문이다..ㅜㅜ

 그래도 패스트 캠퍼스는 평생 수강이니까 헷갈릴 때마다 강의를 다시 들을 수 있어 좋다.

이해 안될때마다 다시 듣고 복습해봐야 할 듯..!

 

https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

<본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.>

#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기

#C#과유니티로배우는게임개발올인원패키지Online.

반응형