| 제목 | 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 이상이시죠?