sql exception 처리 채택완료
훈련소장
7년 전
조회 2,150
</p>
<p>try {</p>
<p> $res = sql_fetch("SELEfCT * FROM category where category_id = 1234) ; </p>
<p> $res['status'] = 'ok';</p>
<p>}</p>
<p>catch(Exception $e) {</p>
<p> $res['status'] = $e->getMessage();</p>
<p>}</p>
<p>echo json_encode($res);</p>
<p>
에러처리를 하고 싶은데, 일부러 select --> selecfct 문법 오류를 내었는데
try catch 가 안되고, 오류가 나네요..
에러처리를 하고 오류메시지를 보이고 싶은데 어떻게 하나요
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
7년 전
위 문장에서 조건에 해당되는 내용이 없는경우에는
$res에는 null 이 존재하게 됩니다.
그런경우에
$res['status'] 에 강제로 값을 대입하면
Exception 자체도 오류가 날겁니다.
값이 존재하는지
is_array() 으로 배열인지 체크하신후에
대입하실지
선언후 대입하실지 정하셔야 할것 같습니다.
* 배열인지 체크
is_array() : http://php.net/manual/kr/function.is-array.php
* 배열의값이 있는지 체크
in_array() : http://php.net/manual/kr/function.in-array.php
로그인 후 평가할 수 있습니다
답변에 대한 댓글 5개
�
훈련소장
7년 전
�
훈련소장
7년 전
sql 결과가 내용이 없는게 아니라 문법오류를 내고 그 에러를 try catch로 잡고 싶은건데 방법이 좀 틀린것 같아요..
�
플래토
7년 전
@훈련소장
제가 볼때는
Exception자체가 오류입니다.
Exception 내에서
$res['status'] 가 배열도 아닌지를 체크하셔야 할것같습니다.
제가 볼때는
Exception자체가 오류입니다.
Exception 내에서
$res['status'] 가 배열도 아닌지를 체크하셔야 할것같습니다.
�
훈련소장
7년 전
try
{
$res = sql_fetch("SELEfCT * FROM category where category_id = 1234;
}
catch(Exception $e)
{
}
echo json_encode($res);
이렇게 바꿨습니다.. 에러가 sql에서 나는걸 catch 하고 싶은데 그게 catch가 안되고 그냥 에러가 나요
{
$res = sql_fetch("SELEfCT * FROM category where category_id = 1234;
}
catch(Exception $e)
{
}
echo json_encode($res);
이렇게 바꿨습니다.. 에러가 sql에서 나는걸 catch 하고 싶은데 그게 catch가 안되고 그냥 에러가 나요
�
플래토
7년 전
@훈련소장
Exception은 처리중에 오류가 발생하느 사항으로 알고있습니다만
아래 문장은 문법오류라서 에러가 나는게 맞지 않을까요?
Exception은 처리중에 오류가 발생하느 사항으로 알고있습니다만
아래 문장은 문법오류라서 에러가 나는게 맞지 않을까요?
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
이문장을 아예 뺏는데, exception 처리가 안되네요..