자바_자주발생하는 에러와 해결방법

호근·2022년 11월 22일
0

java

목록 보기
1/35

Date - 22.11.22
Stack - Java
Summary


하나의 소스파일에 둘 이상의 public class가 존재하면 안된다.
(별도로 나누어 저장하던가, 둘 중 하나의 class에 public을 붙이지 않아야한다.)


cannot find symbol, cannot resolve symbol
=> 지정된 변수나 메서드를 찾을 수 없다는 뜻으로 선언되지 않은 변수나 메서드를 사용하거나, 변수 또는 메서드의 이름을 잘못 사용한 경우 발생.


';'expected
=> 세미콜론 누락


Exception in thread "main" java.lang.NoSuchMethodError: main
=> 메인 메서드를 찾을 수 없다는 뜻이며, 클래스 내에 main메서드가 존재하지 않거나 메서드 선언부에 오타가 존재하는 경우 발생한다.


Exception in thread "main" java.lang.NoClassDefFoundError: Hello
=> Hello라는 클래스를 찾을 수 없다는 뜻이다. 오탈자 확인 후 클래스 파일의 정상생성여부를 확인한다. java.Hello가 정상적으로 컴파일 되었다면 클래스 파일(Hello.class)이 있어야한다.
클래스파일이 존재하는데도 동일 오류가 반복된다면 클래스 패스(class path) 설정을 확인해보자.


illegal start of expression
=> 문장 또는 수식의 앞부분이 문법에 맞지않는다는 뜻. 문법적 오류가 발생했다는 뜻이다. 괄호, 수식, if문, for문 등에 문법적 오류가 있을 때나
public 혹은 static과 같은 키워드를 잘 못 사용한 경우에도 발생한다.


class, interface, or enum expected
=> 의미는 키워드 class나 interface 또는 enum 이 없다 이지만,
보통 괄호의 개수가 일치하지 않는 경우에 발생한다.


  1. 에러가 발생하면 에러메시지를 확인 후 해당부분의 코드를 점검
  2. 이상이 없으면 코드 주위를 점검(윗줄 아랫줄)
  3. 그래도 이상이 없으면 에러메시지는 잊어버리고 기본적인 부분을 재확인
  4. 의심이 가는 부분을 주석처리하거나 따로 떼어내어 테스트
profile
22.11.28 ~

0개의 댓글