본문 바로가기
expert

NoSuchMethod 오류란 무엇이며 어떻게 수정합니까?

by RWriter 2023. 1. 24.
반응형

질문 제목:

NoSuchMethod 오류란 무엇이며 어떻게 수정합니까?

질문 내용:

몇 가지 코드가 있는데 실행하면 다음과 같은 오류가 발생합니다.

NoSuchMethod: 'XYZ' 메서드가 null에서 호출되었습니다.

이는 무엇을 의미하며 어떻게 수정합니까?

해결 답변:

이 오류가 발생하는 이유는 무엇입니까?

실제 비교로 방금 일어난 일은 다음과 같은 대화입니다.

야, 차 탱크에 얼마나 많은 기름이 남아 있니?
무슨 소리야, 우리 는 차가

없어 .

그것이 바로 당신의 프로그램에서 일어나는 일입니다. 와 같은 함수를 호출하고 싶었지만 car 가 없고

_car.getGasLevel();

변수 입니다 .

_car

 

null

분명히 프로그램에서 자동차가 아닐 수도 있습니다. 목록이나 문자열 또는 그 밖의 모든 것이 될 수 있습니다.

기술적 설명

이라는 변수를 사용하려고 합니다

null

. 명시적으로 로 설정

null

했거나 전혀 설정하지 않은 경우 기본값은

null

입니다.다른 변수와 마찬가지로 다른 함수에 전달할 수 있습니다. 오류가 발생하는 위치가 소스가 아닐 수 있습니다.

null

문제가 무엇인지, 해결책이 무엇인지 찾기 위해 실제 가치에서 원래의 출처까지 리드를 따라가야 합니다 .

null

다른 의미를 가질 수 있습니다. 다른 값으로 설정되지 않은 변수는

null

이지만 때때로 프로그래머는 값이 없음을 알리기 위해 의도적으로 null 값을 사용합니다. 데이터베이스에는 null 허용 필드가 있고 JSON에는 누락된 값이 있습니다. 누락된 정보는 실제로 정보 자체 일 수

있습니다 .

 

bool userWantsPizzaForDinner;

예를 들어 변수

true

는 사용자가 예라고 대답

false

했을 때, 사용자가 거절

null

했을 때, 사용자가 아직 무언가를 선택하지 않았을 때 사용될 수 있습니다. 이는 실수가 아니라 의도적으로 사용된 것이므로 적절하게 처리해야 합니다.

어떻게 수정합니까?

그것을 찾아라

오류 메시지와 함께 제공된 스택 추적을 사용하여 오류가 발생한 라인을 정확히 찾으십시오. 그런 다음 해당 줄에 중단점을 설정합니다. 프로그램이 중단점에 도달하면 변수의 모든 값을 검사합니다. 그들 중 하나는

null

, 어떤 것을 찾으십시오.

고쳐

어떤 변수인지 알게 되면 어떻게

null

. 어디에서 왔습니까? 값이 처음부터 설정되지 않았습니까? 값이 또 다른 변수였습니까?

변수는 어떻게 그 값을 얻었습니까 ? 일부 변수가 설정되지 않은 지점에 도달하거나 변수가 의도적으로

null

. 의도하지 않은 경우 수정하면 됩니다. 원하는 값으로 설정하십시오. 의도적이었다면 프로그램에서 더 아래로 처리해야 합니다.

if

이 경우에 특별한 일을 하기 위해 다른 사람이 필요할 수도 있습니다 . 확실하지 않은 경우 달성 하려는 목표를 의도적으로 설정한 사람에게 물어볼 수 있습니다

null

.

반응형

댓글