Today
Total
Recent Posts
Recent Comments
Archives
05-19 03:21
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
반응형
관리 메뉴

UD_park's IT story

[Error] NullReferenceException 본문

IT - For Data/Error

[Error] NullReferenceException

kingllzn 2018. 7. 4. 13:59
반응형
SMALL


[이 포스팅은

시작하세요! 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번 줄

코드를 작성하는데

위치가 잘못된 것 뿐이였습니다

 

이번 오류를 고치면서 느낀 점은

머리가 멍청하면 몸이 고생한다는 걸

뼈저리게 느꼈습니다

 

 

멍청하지 않도록 저는 또

공부를 하러 가보겠습니다

이상 포스팅을 마치도록 하겠습니다

 


혹시 다른것에 대해 궁금하신게

있으시다면

댓글에 달아주세요

 

아는것이면 친절하게 쉽게

모르는것이면 또 제가 알아내서

친절하게 쉽게 포스팅해서

설명해드리겠습니다

 

 

 

반응형
LIST
Comments