제목 | try catch finally에서 Exception 에러가 났는데, catch를 타지 았네요 | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | 바보돌쇠 | 작성시각 | 2018/04/04 17:32:33 |
|
|||
/** * Ajax 회원탈퇴 처리 * * @return tring */ public function AjaxMemberOut() { $str_comment = []; // AJAX 접근 체크 if ( $this->input->is_ajax_request() ) { try { $memno = $this->input->post( 'memno' ); $password = $this->input->post( 'password' ); $memberInfo = $this->M_memberInfo->getWithdrawalApplication( $memno ); if ( $memberInfo['ok'] == 1 ) { $str_comment = [ 'MSG' => $this->lang->line( 'txt_mypage_after_24hours_withdraw' ), // 회원가입 후 24시간 이후 탈퇴가능 'CODE' => 'CODE900', ]; } else { // 패스워드 맞는지 여부 확인 if ( password_verify( $password, $memberInfo['passwd1'] ) ) { // 탈퇴처리 $result = $this->resumeinfos->deleteMemberAllInfo( $memno ); //탈퇴한 회원정보 업데이트 $params = [ 'code' => $this->lang->line( 'txt_mypage_withdraw' ), // 탈퇴 ]; $result = $this->M_memberInfo->updateMemberInfo( $params, 'DBNAME', 'id' ); if ( $result ) { $str_comment = [ 'MSG' => $this->lang->line( 'txt_mypage_completed_withdraw' ), // 탈퇴처리 완료 'CODE' => 'CODE200', ]; } // 로그아웃 처리 세션,쿠키 삭제 } else { throw new Exception( '패스워드가 틀립니다', 'CODE999' ); } } } catch ( Exception $e ) { $str_comment = [ 'MSG' => $e->getMessage() . '(ERROR CODE:' . $e->getCode() . ')', 'CODE' => 'CODE901', ]; } finally { echo json_encode( $str_comment ); } } else { // Ajax 접근이 아니면... alert( $this->lang->line( 'txt_mypage_wrong_approach' ) ); } }
패스워드 입력이 없어서, "패스워드가 틀립니다" Exception 에서 걸려서 catch 구문을 타야 되는데 실제로는 바로 finally 구문 만을 타네요 뭣 때문에 catch 구문을 타지를 않는지를 모르겠네요 |
|||
다음글 | IE 한글 URL 문제 (2) | ||
이전글 | ajax post 로 데이터를 넘겨주는데 영문은 컨트롤... (1) | ||
변종원(웅파)
/
2018/04/04 23:03:58 /
추천
0
|
바보돌쇠
/
2018/04/05 07:52:24 /
추천
0
Exception 까지는 들어값니다, 당연히 catch를 타야되는데, 타지를 않아서요 심지어는 윗단에서 throw new Exception을 던져도 catch를 타지를 않아서... 멘붕입니다...ㅋ XAMPP 사용중이고 PHP 7.1.2 입니다 |
바보돌쇠
/
2018/04/05 08:17:30 /
추천
0
아... Exception에서 코드 값을
숫자는 상관이 없는데, 문자는 안되는 군요... |
Exception 부분까지 들어가지 않는건 아닌지요? 데이터가 없으니 조건을 검증할 수 없습니다.
password_verify( $password, $memberInfo['passwd1'] ) <- 이 부분 값 찍어보세요.
구문상 문제 없습니다. php5.5 이상이시죠?