Published 2023. 1. 18. 17:24
728x90

==> [202301171746920]==============================================
→ TITLE  : ErrorException Occurred
→ DATE   : 2023-01-17 17:46:920
→ URL    : /concern/ready?pmemNo=2024890
→ METHOD : GET
→ TYPE   : text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
→ TOTAL  : 2024854 / KA_0002024854@yeoboya.com
→ MEMBER : 2024854 / KA_0002024854@yeoboya.com
→ AGENT  : InforexAgent(deviceType=ANDROID, serviceType=a, deviceId=d5ec3d879785cf34, appVersion=1.5.346, iAppVersion=50346, phoneVersion=12, appProvider=google, appChnl=0)
→ ISCOM  : false
→ REF    : https://m.yeoboya.com/profile/info/view?memNo=2024890
→ ERROR  : java.lang.IllegalArgumentException: 변환수행 대상 객체가 null 입니다.
        at com.inforex.yeoboya.common.component.code.annotation.AnnotationHandler.run(AnnotationHandler.java:44)
        at com.inforex.yeoboya.web

 

실서버에서 에러로그라 띄워져 확인 해보았다.

임시로 로컬에서 url을 띄워보니 관심있어요를 들어간 화면인데 관리자 페이지에서 확인 해 본 결과 해당회원은 탈퇴회원이였고 남성회원이 상대방 회원 프로필을 열람하고 난 직후에 탈퇴하였다는것을 확인하였다.

자바쪽에서 디버깅을 해보니 예외처리되어있었으나 위치가 이미 DB에서 null값을 가져온 후에 예외처리를 하여 페이지 오류를 유발 하였다.

    /**********************************************************************************************
     * @Method 설명 : 관심있어요 등록페이지 이동
     * @작성일   : 
     * @작성자   : 
     * @변경이력  :
     **********************************************************************************************/
    @GetMapping("/ready")
    public String sendConcern(@RequestParam(value = "pmemNo") int pmemNo, @RequestParam(value = "fromMsgView", required = false, defaultValue = "") String fromMsgView, Model model, InforexCookie cookie) {
        MateSelResult memInfo = profileService.onlyDoProfileProcedure(cookie.getMemNo());
        MateSelResult pmemInfo = profileService.onlyDoProfileProcedure(pmemNo);

        annotationHandler.run(pmemInfo);

        if(pmemInfo == null) {
            model.addAttribute("chkPtr", false);
            return "/concern/ready";
        }

        ReadyVO vo = new ReadyVO(memInfo, pmemInfo);
        vo = showPhoto(vo); //내 프로필사진 보게할건지 체크

        model.addAttribute("itemBasicCodeList", readyService.getInterestBasic());             //일반 관심있어요 아이템코드 리스트
        model.addAttribute("itemCodeList",readyService.itemCodeList(memInfo.getMemSex()));    //고가 관심있어요 아이템코드 리스트
        model.addAttribute("vo", vo);
        if(fromMsgView == null || fromMsgView.equals("undefined") || fromMsgView.equals("")){
            fromMsgView = "";
        }
        model.addAttribute("fromMsgView", fromMsgView);
        model.addAttribute("interestSpecSet",interestSpecSet);

        return "/concern/ready";
    }

예외처리 전에 로직을 탄 부분 :

annotationHandler.run(pmemInfo);

 

예외처리 부분 :

if(pmemInfo == null) {
            model.addAttribute("chkPtr", false);
            return "/concern/ready";
        }

해결 방법은 간단했다 예외처리가 없었으면 만들었겠지만 이미 다른 직원분이 만들었기 때문에 예외처리를 돌고 난 후에 DB를 거치게 하였다

해결 코드

@GetMapping("/ready")
    public String sendConcern(@RequestParam(value = "pmemNo") int pmemNo, @RequestParam(value = "fromMsgView", required = false, defaultValue = "") String fromMsgView, Model model, InforexCookie cookie) {
        MateSelResult memInfo = profileService.onlyDoProfileProcedure(cookie.getMemNo());
        MateSelResult pmemInfo = profileService.onlyDoProfileProcedure(pmemNo);
        
        if(pmemInfo == null) {
            model.addAttribute("chkPtr", false);
            return "/concern/ready";
        }
        annotationHandler.run(pmemInfo);

        ReadyVO vo = new ReadyVO(memInfo, pmemInfo);
        vo = showPhoto(vo); //내 프로필사진 보게할건지 체크

        model.addAttribute("itemBasicCodeList", readyService.getInterestBasic());             //일반 관심있어요 아이템코드 리스트
        model.addAttribute("itemCodeList",readyService.itemCodeList(memInfo.getMemSex()));    //고가 관심있어요 아이템코드 리스트
        model.addAttribute("vo", vo);
        if(fromMsgView == null || fromMsgView.equals("undefined") || fromMsgView.equals("")){
            fromMsgView = "";
        }
        model.addAttribute("fromMsgView", fromMsgView);
        model.addAttribute("interestSpecSet",interestSpecSet);

        return "/concern/ready";
    }

 

728x90
복사했습니다!