춘식이를 좋아하는 개발자

[Spring] Exception(Error) 방지 본문

Study/Java

[Spring] Exception(Error) 방지

NaChoon 2022. 5. 9. 14:53

Exception 확인!

1. "status" : 500 일 경우 JAVA에서 발생한 오류

2. NullPointerException 등 Error 발생 Google에 검색하여 해당 예시 및 해결방법을 찾아보자!

문제점

Business Logic을 구현하거나 DB(Data Base)와 연동할 때 Error는 큰 문제가 된다고 한다!

(특히 실무에서 DB를 사용함에 있어서 row Data의 삭제, 수정은 큰일이다!)

따라서 Exception을 늘 생각하고 예방해야한다.

 

Exception으로 인한 Error 예방 방법!
Exception을 임의로 만들어 DB와의 연동 과정에서 table이 수정되는 것을 방지하는 방법

다음과 같은 Business Logic이 실행될 때 사전에 미리 Exception이 발생하더라도 DB가 수정되는 것을 막을 수 있다.

// business logic때문에 error가 날 때 잡는방법!
// 짱 고급 Annotation
// error가 뜰 경우 이전 시점의 commit으로 돌아가기
@Transactional(rollbackFor = {Exception.class}) // 짱
// @Transactional(rollbackFor = {NullPointerException.class}) // null관련 error catch
public int getEmpUpdateCount(EmpVO vo) {
	int rows = postMapper.updateEmp(vo);
	
	// error만들어서 경험해보자!
	UserVO user = null; // instance화 하지 않아 null이라 error
	String name = user.getName();
	System.out.println(name);
	// 서버에서는 error가 뜨는데 DB는 update가 된다!

	return rows;
}

Annotation

@Transactional(rollbackFor = {Exception.class} )

을 사용하여 Exception을 방지하자!