728x90

 

에러가 발생한 곳으로 화면을 바로 이동해서 내용까지 보여주는 단축키 F2

아래 이미지처럼 에러난 변수명을 색깔표시 해주는 편리함도 있다

Required type : 해당 코드에서 필요한 것

Provided : 해당 코드에 현재 주어진 것

즉, boolean 데이터타입이 들어갔어야했는데 Dog라는 클래스타입이 들어가서 에러라는 의미

 

 

인텔리제이가 빨간줄로 에러발생을 알려줄 때 좀 더 구체적으로 내용에 대해 알고 싶다면,

해당 빨간 줄 친 곳에 마우스커서를 올리면 된다. 

에러난 변수를 생성한 객체 정보를 보여준다

 

올리는 마우스 포인터 위치에 따라 해당 메소드 설명까지 추가로 보여준다

 

참고로, 에러 안났을 때 f2를 누르면 메소드끼리 이동하는 단축키이다

 

728x90
반응형
728x90

 

사용 프로그램

java + eclipse

 

메세지

Exception in thread "main" java.lang.Error: Unresolved compilation problem :

The constructor User(String,String) is undefined

 

상황

생성자 매개변수 실험

 

원인

실행 클래스의 매개변수 생성자에서 값 초기화를 3개했는데 

new User() 생성자에서는 매개변수를 2개만 줬기 때문에 에러발생

 

해결

매개변수 2개를 3개로 맞춘다

new User("user1","pass1","pass2")

 

728x90
반응형
728x90

에러(error)란?

비정상 종료 상황 발생했다 = 에러 = 오류

코드 수정으로 해결할 수 있는 오류 = 예외

코드 수정으로 해결할 수 있는 오류를 예외라고 부름

  • 예외 발생 시 ‘예외처리’를 통해 해결

 

에러 종류 3가지

1)컴파일(Compile) 에러

2)런파일 에러

3)시스템 에러

 

1)컴파일 에러 : 문법 에러

ex)이클립스 빨간줄

해결법 : 코드 수정

 

2)런파일 에러 : 수행 중 에러

ex)배열 범위 초과

해결법 : 코드 수정

 

3)시스템 에러 : 컴퓨터 자체가 오작동

해결법 : 컴퓨터 CS적으로 해결해야함.

ex)컴퓨터 껐다 켰다나 하드웨어 문제 등 전반적인 것들

 

 

예외도 클래스로 자바 구현되어있음

ex) NumberFormatException, NullPointerException

 

예외(Exception)도 클래스라 object부터 상속이 쭉 내려져옴

 

에러의 최상위 Throwable

Throwable 위에는 모든 자바의 객체의 최상위 클래스인 Object만 존재

Throwable은 Exception과 Error 둘로 나뉘며, 예외Exception가 포커스

728x90
반응형
728x90

 

여느 때처럼 서블릿 생성하기 눌러서 서블릿 클래스를 만들었는데

아래와 같은 에러메세지가 떠서 상당히 당황했다. 클래스를 만들고 나서 뭘 만진 것도 없는데

느닷없이...?

 

 

 

프로젝트 과정에서 파일 합치느라 다른 분의 프로젝트를 받아와서 수정 중이었는데

아마도 이 과정에서 path 지정에 혼선이 있었던 것 같다.

필자의 아래의 방식으로 해결했으니 에러를 고치고 싶다면 한번 시도해볼만 할 것 같다

 

해당 프로젝트 파일 우클릭 - Properties - JavaBuildPath - Libraries

여기서 톰캣(서버)가 잘 있는지 확인하고 있다면 edit이나 add로 서버의 classpath를 다시 한번 각인시켜주자

 

필자는 있어서 edit으로 재지정해줬다

 

 

에러 해결된 모습

 

728x90
반응형
728x90

 

에러메시지

An error has ocurred. See the log file

 

원인

(추측) pc에서 작업하고 노트북으로 사용할려고 하는데

필자의 경우 드랍박스로 workspace를 연동해놔서 신경안써도 저절로 연동되서

몇달동안 문제없이 잘 사용했었는데 아마도 여기서 뭔가가 꼬인게 아닌가 싶다

 

 

 이클립스를 실행하니 아래와 같은 에러메시지가 떴다. 

처음 본 에러라 매우 당황했는데 일단 해당 로그를 보았다

 

이거 고치느라 참... 거시기했지만...ㅋㅋ

이 에러를 통해서 한가지 또 배운거는 바빠서 놓쳤던 에러메세지들을 log를 통해서 다시 볼 수 있는 점은 큰 수확인 것 같다. 

 

로그파일 보니까 

이런 식인데 사람마다 오류가 다양할 수 있을 것 같다

!ENTRY org.eclipse.osgi 4 0 2022-05-05 14:07:30.856
!MESSAGE Application error
!STACK 1
java.lang.NoClassDefFoundError: org/eclipse/core/resources/IContainer
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:657)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1447)
Caused by: java.lang.ClassNotFoundException: An error occurred while automatically activating bundle org.eclipse.core.resources (124).
	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:126)
	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:571)
	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:346)
	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:398)
	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:41)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:473)
	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:171)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
	... 13 more
Caused by: org.osgi.framework.BundleException: Exception in org.eclipse.core.resources.ResourcesPlugin.start() of bundle org.eclipse.core.resources.
	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:863)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:791)
	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1015)
	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:365)
	at org.eclipse.osgi.container.Module.doStart(Module.java:603)
	at org.eclipse.osgi.container.Module.start(Module.java:467)
	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:493)
	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:117)
	... 20 more
Caused by: org.eclipse.core.internal.dtree.ObjectNotFoundException: Tree element '/Servers/JSPServer.server' not found.
	at org.eclipse.core.internal.dtree.AbstractDataTree.handleNotFound(AbstractDataTree.java:260)
	at org.eclipse.core.internal.dtree.DeltaDataTree.getData(DeltaDataTree.java:599)
	at org.eclipse.core.internal.dtree.DataDeltaNode.asBackwardDelta(DataDeltaNode.java:54)
	at org.eclipse.core.internal.dtree.NoDataDeltaNode.asBackwardDelta(NoDataDeltaNode.java:63)
	at org.eclipse.core.internal.dtree.DataDeltaNode.asBackwardDelta(DataDeltaNode.java:51)
	at org.eclipse.core.internal.dtree.DeltaDataTree.asBackwardDelta(DeltaDataTree.java:91)
	at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:835)
	at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:834)
	at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:834)
	at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:834)
	at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:834)
	at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:834)

 

사람마다 환경이나 에러 원인이 다를테니 100% 에러가 고쳐지지는 않을테니

내가 찾은 방식으로 한번 시도해보고 잘 해결되기를 바란다

 

해당 프로젝트 파일이 있는 있는 폴더로 가서 .metadata폴더로 들어간다

.metadata - .plugins - org.eclipse.core.resources

org.eclipse.core.resources이 폴더를 삭제하고 다시 실행해보자

이클립스를 재실행하면 이 폴더가 새로 생성되니 걱정할 필요 없고 

필자는 이걸로 해결했다

 

 

 

728x90
반응형
728x90

 

에러메시지

java.lang.IllegalStateException: 응답이 이미 커밋된 후에는, sendRedirect()를 호출할 수 없습니다.

원인 : sendRedirect를 써놓고 아래쪽에 forward문을 또 서둠

해결 : 아래쪽에 있는 getRequestDispatcher().forwad 삭제

 

 

728x90
반응형
728x90

 

400대 에러 : 브라우저와 관련된 에러

대표적으로

404 error : Page Not Found(내가 페이지를 찾을 수 없다)

image, file, page 등 못찾아서 발생하는 것

form action, servlet url 연결부분, href 등의 부분을 주로 살펴본다

 

500대 에러 : 로직 에러

대표적으로

500 error : 많은 로직이 있어서 특정 불가능. 로직으로 나는 모든 에러

nullpointer, arithmetic 등 그때그때 에러 내용 확인 할 것

SQLException, SQLSyntax 관련이라 뜨면 이쪽을 보면 됨

728x90
반응형
728x90

메세지

ORA-08002: sequence SEQ_EMPID2.CURRVAL is not yet defined in this session

원인

아직 시퀸스명.NEXTVAL로 시퀸스를 실행시키지 않아서 에러.

해결

NEXTVAL에서 CURRVAL로 최초값을 받아오자.

 

--SEQ_EMPID에 대한 '현재 값' 조회
SELECT SEQ_EMPID.CURRVAL FROM DUAL;
-- ERROR : ORA-08002: sequence SEQ_EMPID2.CURRVAL is not yet defined in this session
-- 원인 : 아직 시퀸스명.NEXTVAL로 시퀸스를 실행시키지 않아서 에러. NEXTVAL에서 CURRVAL로 최초값을 받아오자.
SELECT SEQ_EMPID.NEXTVAL FROM DUAL; -- 300 // 305 // 310 누를 때마다 5씩 값 증가되서 출력됨. 최대치설정이310이라 멈춤
728x90
반응형
728x90

메세지

ORA-12983: cannot drop all columns in a table 12983. 00000 - "cannot drop all columns in a table"

*Cause: An attempt was made to drop all columns in a table. *Action: Ensure that at least one column remains in the table after the drop column operation.

원인

테이블에 컬럼을 전부 지우려다 발생

테이블에 컬럼이 하나라도 남아있어야한다

 

ALTER TABLE DEPT_COPY2
DROP COLUMN DEPT_TITLE;
728x90
반응형
728x90

메세지

ORA-01441: cannot decrease column length because some value is too big

 

원인

넣을려는 곳의 정해진 자료형의 값보다 큰 값을 넣을려고 해서 발생

크기 수정할 때는 안에 데이터의 크기가 어떤지를 보고 수정해야함

ALTER TABLE DEPT_COPY
MODIFY DEPT_TITLE VARCHAR2(10);
-- ORA-01441: cannot decrease column length because some value is too big
-- 크기 수정할 때는 안에 데이터의 크기가 어떤지를 보고 수정해야함

 

728x90
반응형

+ Recent posts