🐔삽추란 : 삽질의 추억

개발을 하면서 수많은 삽질을 하게 되는데 이 순간이 뙇 삽질이다!하며 오지 않고 가랑비에 옷 젖듯이 자연스럽게 찾아오는 것 같다

풀스택 개발자(라고 하고 백,프론트 둘다 무지렁이라고 읽는다)로 프로젝트를 하는 중 로그인 버튼을 누르면 화면이 reload가 되는 어처구니 없는 상황이 생겼다. (심지어 라우터간지 react인데!!)

실무를 하면서 느낀건데 jsp처럼 화면이 reload된다는건 약간 촌스러운(?) 상황으로 여겨지는 것 같다. (우리 회사 기준일 수 있음)

개발 고인물 사수님까지 붙어서 원인을 찾아냈다.

우리의 해결 flow는 아래와 같다.

  1. 프론트 단의 button이 form안에 있어서 submit 된건가? (흔한 실수- 하지만 아니였음)
  2. axios를 써서 그런가? fetch를 써볼까 (아닌 것 같음)
  3. 로그인 버튼을 누르고 성공이면 reload가 되지않음을 보고 사수님이 백단쪽 문제라는걸 발견하심 역시 갓사수님..

💡해결 - 백단에서 인증확인 메소드 catch문의 throw e; 라고 써있는 부분을 고쳐줬다.

이것은 security+jwt를 적용하면서 제대로 확인 안해서 생긴 문제 + 예외처리에 대한 무지의 결과였다

충격을 먹고 예외처리를 씹어 먹기로 했다.

🐻 try - catch

public void Test() {
		try {
		
			System.out.println( 10 / 0 ); // try안에 예외가 발생할 수도 있는 코드
			System.out.println
			( "catch 괄호 안의 예외가 catch될 경우 이 문구는 안나옵니다" );
		} catch(ArithmeticException e) { //어떤 예외를 catch할지를 적어줌
			
			System.out.println("0으로 나누어서 예외발생");
			System.out.println("ArithmeticException 예외일 경우 출력돼요!");
		
		} catch(Exception e) {  //어떤 예외든 catch됨(위 catch에서 예외발생시 실행X)
			
			System.out.println("예외 처리"); //catch된 후 실행할 코드 
			System.out.println("ArithmeticException 예외가 아닌 다른 예외일경우 출력돼요!");
		}
}

🐱 try - catch - throw