>  기사  >  백엔드 개발  >  PHP에서 try catch 사용

PHP에서 try catch 사용

little bottle
little bottle앞으로
2019-04-16 14:48:0210837검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제