1.try catch는 이전 레이어에서 발생한 예외를 잡을 수 있습니다
2.finally는 try 또는 catch에 반환 블록이 있는지 여부에 관계없이 결국 실행되는 블록입니다
# 🎜🎜# 3.try는 call_user_func_array 콜백 함수 내부에서 발생한 예외도 캡처할 수 있습니다. class4.call_user_func_array는 클래스의 정적 메서드만 콜백할 수 있으며 이 정적 메서드에서 새 개체를 만들 수 있습니다.# 🎜🎜##🎜 🎜#5. 오류 처리 기능을 사용자 정의하지 않으면 경고 오류 및 기타 수준을 포함하여 PHP 자체의 오류를 캡처할 수 없습니다. 다음 코드는 프로젝트의 일부입니다. 여러 레이어의 통화 및 콜백 이후<?php class Oss { public static function connect() { throw new Exception("oss connect error"); return 'oss object'; } } //调用三层 class S3{ public static function connect() { //throw new Exception("s3 connect error"); return 's3 object'; } } //调用二层 function callReader($class,$url){ try{ $conn=call_user_func_array(array($class, "connect"),array()); return $conn; }catch(Exception $e){ throw $e; }finally{ //无论如何都会执行,在这记录日志 } } //调用一层 function getMessage(){ $conn=null; try { $conn=callReader('Oss',"http://xxxx"); } catch (Exception $e1) { $conn=callReader('S3',"http://xxxx"); } return $conn; } //最先的入口 try{ var_dump(getMessage()); }catch(Exception $e){}
[강좌 추천:
PHP 비디오 튜토리얼
위 내용은 PHP에서 try catch 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!