PHP에서 try catch 사용

little bottle
풀어 주다: 2023-04-05 21:14:01
앞으로
10819명이 탐색했습니다.

1.try catch는 이전 레이어에서 발생한 예외를 잡을 수 있습니다

2.finally는 try 또는 catch에 반환 블록이 있는지 여부에 관계없이 결국 실행되는 블록입니다

# 🎜🎜# 3.try는 call_user_func_array 콜백 함수 내부에서 발생한 예외도 캡처할 수 있습니다. class

4.call_user_func_array는 클래스의 정적 메서드만 콜백할 수 있으며 이 정적 메서드에서 새 개체를 만들 수 있습니다.# 🎜🎜##🎜 🎜#5. 오류 처리 기능을 사용자 정의하지 않으면 경고 오류 및 기타 수준을 포함하여 PHP 자체의 오류를 캡처할 수 없습니다.

다음 코드는 프로젝트의 일부입니다. 여러 레이어의 통화 및 콜백 이후

<?php
class Oss {
    public static function connect() {
    	throw new Exception("oss connect error");
    	return &#39;oss object&#39;;
    }
}
//调用三层
class S3{
	public static function connect() {
		//throw new Exception("s3 connect error");
    	return &#39;s3 object&#39;;
    }
}
//调用二层
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(&#39;Oss&#39;,"http://xxxx");
	} catch (Exception $e1) {
		$conn=callReader(&#39;S3&#39;,"http://xxxx");
	}
	return $conn;
}
//最先的入口
try{
	var_dump(getMessage());
}catch(Exception $e){}
로그인 후 복사

[강좌 추천:
PHP 비디오 튜토리얼

] 

위 내용은 PHP에서 try catch 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:cnblogs.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!