저는 현재 개발중인 웹 앱에 조금 갇혀 있습니다. 나는 에 try/catch-blocks과 함께 예외를 더 신중히 사용하기로 결정했습니다.PHP5.6 서버에서 예외가 발견되지 않았습니다.
그럼에도 불구하고; 나는 을 로컬로 PHP7을 사용하여 개발했으며, 방금 PHP5 서버에 앱을 업로드했을 때이 예외가 더 이상 잡히지 않습니다. 대신 스크립트 실행이 치명적인 오류로 중지됩니다. 필자는 PHP7의 예외와 관련된 주요 변경 사항에 대해 읽었지만 필자가 찾은 모든 정보는 매우 모호합니다.
Script-stop은 그리 문제가되지 않지만이 경우 스크립트를 AJAX 호출로 실행하고 JSON 형식의 오류 메시지를 반환해야하기 때문에 오류를 포착하고 "수정하는"것이 매우 중요합니다.
홈페이지 파일 :
throw new Exception(_('My error message.'));
도움말 :
try {
if (!$this->validateNonce($this->postParams['upload-nonce']))
throw new Exception('Upload failed because nonce could not be verified.');
new FloImage(
$this->postParams['basename'],
true,
$this->fileParams['uploadfile']
);
} catch (Throwable $e) {
echo json_encode(array('error' => $e->getMessage()));
die();
}
FloImage()
검사 몇 가지 정보 (이름, 파일 크기 등) 및 오류의 경우는 예외 이런 식으로 던졌습니다 PHP5와 함께 try-catch-block 작업을 수행하는 방법에 대해 감사드립니다! 미리 감사드립니다 ...
어떤 치명적인 오류가 발생합니까? –
나는 항상 내가 던지고있는 오류를 얻는다. 치명적인 오류 : 내 메시지. –
'Throwable'은 PHP7의 기본 인터페이스입니다 -> [docs] (http://php.net/manual/en/class.throwable.php) '예외'가 구현되지 않았기 때문에 잡을 수 없다고 생각합니다. PHP5의 인터페이스 –