UD_park's IT story
[Error] NullReferenceException 본문
[이 포스팅은
시작하세요! C# 7.1 프로그래밍의
내용을 발췌하였습니다]
[보기용 예제 소스 코드에서 오류 발생시에
댓글이나 방명록에 글을 남겨 주시면 수정/보완하겠습니다]
이번에는 C#으로 MSSQL server와
연결하는 보기 예제 소스 코딩중에
발생했던 오류 중에 하나였던
NullReferenceException(Null 참조)에 관한
오류에 대한 내용을 포스팅해보도록 하겠습니다
일단 먼저 오류의 구문을 보시겠습니다
처리되지 않은 예외: System.NullReferenceException: 개체 참조가 개체의 인스턴스로 설정되지 않았습니다.
위치: SqlConnectExample.Program.Main
위와 같은 오류의 예를 설명하기위해
다른 분들은 아래와 같은 예시로
설명을 많이들 해놓으셨습니다
string Number = null;
int Number2 = Convert.ToInt32(Number);
그러나 제가 이상한것일까요
저는 문제없이 작동합니다
그래서 또 저만의 생각과 방식으로
정의하고 이해해보려 합니다
일단 이 오류는 실질적으로 프로젝트의
코드 소스 부분에 흔히 발생하는 붉은 물결 밑줄이
발생하지않습니다
그리고 Ctrl + F5를 눌러서
디버깅을 시도하더라도
CMD창까지 켜지면서 작동은 됩니다
그러나 중요한 건 제대로 원하던 값이나
결과물이 나오지가 않습니다
그 이유는 논리적 오류이기 때문입니다
짧고 간단하게 설명하자면
null로 저장되어 있는 변수에다가
그 변수를 참조해서 데이터를 계산하고
이런 가공의 과정을 거치려 한다면
null 값에는 가공을 할 수 없기에
에러가 발생합니다
위와는 다르지만 제가 겪은
오류의 설명을 하기위해
오류가 났었던 프로젝트의 소스를 보며
설명을 이어가도록 하겠습니다
C#과 MSSQL server 2008 R2 연결하는
실패작 소스 코드를 보며 설명하겠습니다
<<App.config>>
<<Program.cs>>
위의 코드와 같이 이 코드 예시는
빨간 밑줄이 발생하지않습니다
그러나 실제로 디버깅을 해보면
아래와 같은 결과가 나옵니다
이 화면에서 보이는 오류를 해결하려
이틀동안 수백번은 봤던 화면입니다
저같은 멍청한 짓을 하신 분들은 없겠지만
위의 오류에 해결은 너무도 허무하게
위에서 <<App.config>>부분을
아래의 사진과 같이 바꿔주시면 됩니다
비밀번호는 개인 정보상 * 표시로
지웠지만 실제론 비밀번호를 입력
하시길바랍니다
쉽게 이야기해서 그냥 3-6번 줄
코드를 작성하는데
위치가 잘못된 것 뿐이였습니다
이번 오류를 고치면서 느낀 점은
머리가 멍청하면 몸이 고생한다는 걸
뼈저리게 느꼈습니다
멍청하지 않도록 저는 또
공부를 하러 가보겠습니다
이상 포스팅을 마치도록 하겠습니다
혹시 다른것에 대해 궁금하신게
있으시다면
댓글에 달아주세요
아는것이면 친절하게 쉽게
모르는것이면 또 제가 알아내서
친절하게 쉽게 포스팅해서
설명해드리겠습니다
'IT - For Data > Error' 카테고리의 다른 글
[Error] CS1656 '메서드 그룹'인 'Show'에는 할당할 수 없습니다. (0) | 2018.07.12 |
---|---|
[Error] 처리되지 않은 예외: System.IndexOutOfRangeException (2) | 2018.07.05 |
[Error] CS0103 : 'ConfigurationManager' (2) | 2018.07.04 |
[Error] Error C4996: 'scanf' (0) | 2018.06.28 |
[Error] Error C2664: 'const char [26]' 'char *' (4) | 2018.06.28 |