티스토리 뷰

[오류해결] 코드 경로 중 일부만 값을 반환합니다.

코드오류해결


 코딩을 하던 중 오류를 하나 발견했습니다. 바로 코드 경로 중 일부만 값을 반환합니다. 라는 오류를 말이죠.


 저런 오류가 뜨면 대체 이런 오류가 왜 떠 라고생각이 되는데, 그냥 말 그대로  매서드 내에서 일부만 값을 반환한다는 뜻입니다. 예를 들자면,


코드경로중일부만값을반환합니다 오류

 위와 같이 코딩을 하게되면 같은 오류가 발생하게 됩니다. 일부만 값을 반환한다. 그렇다면 일부는 값을 반환하지 않는 다는 것 입니다. 반환형식은 분명 void가 아닌 int입니다. 그렇다면 어떠한 경우든 간에 int값을 반환해주어야 말이 됩니다.


 그런데 위의 코드에서 보면 if문에 비교가 input<0일 때만 반환을 해주는 것이 보입니다. 그럼 나머지에 대해서는 반환을 어떻게 한다는 말인가 하고서 컴파일러가 친절하게도 자동으로 오류를 찾아줍니다.


정상작동코드

 해결 방법은 밑에주석 처리해 두었던 else구문을 풀어주시면 되겠습니다. 그렇게 되면 어떠한 값이든 if나 else를 거치면서 반환은 무조건 되기 때문에 정상적인 실행이 가능해집니다.


 사실 컴파일러가 보여주는 오류는 조금만 생각하면 왜 발생했는지 쉽게알 수 있습니다. 오류가 발생하게되면 그 오류가 왜 발생 했는지를 조금 생각해보는 시간을 가져 보는 것도 좋을 것 같습니다. 이상 C#을 공부중인 학생이 남깁니다.


C# - var 키워드는 무엇인가 (초기화, 사용법)


C# - 인스턴스변수와 클래스변수

댓글
댓글쓰기 폼
네이버 이웃추가
«   2021/03   »
  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      
글 보관함