Home  >  Article  >  Backend Development  >  Usage of php set_exception_handler() function

Usage of php set_exception_handler() function

怪我咯
怪我咯Original
2017-07-10 14:57:531106browse

set_exception_handler() function sets the user-defined exception handling function.

This function is used to create the user's own exception handling method during runtime.

This function will return the old exception handler, or null if it fails.

Syntax

set_exception_handler(exception_function)

Parameters Description
error_function Required. Specifies the function to be called when an uncaught exception occurs.
This function must be defined before calling the set_exception_handler() function.
This exception handling function requires one parameter, which is the thrown exception object.

Tips and Comments

Tip: After this exception handler is called, the script will stop executing.

Example

<?php// 用户定义的异常处理函数
 function myException($exception) {
     echo "<b>Exception:</b> ", $exception->getMessage();
 } // 设置用户定义的异常处理函数
 set_exception_handler("myException");// 抛出异常throw new Exception("Uncaught exception occurred!");
 ?>

Output:

Exception: Uncaught exception occurred!

It should be noted that:

set_exception_handler("myException") can not only accept function , you can also accept methods of the class (both public static methods and public non-static methods are acceptable) , but they need to be passed in the form of array , the first of the array The first value is "class name", and the second parameter is "method name", as shown in the following code:

<?php
class App{
	function myException($exception) {
		echo "<b>Exception:</b> " , $exception->getMessage();
	}
}

set_exception_handler(array(&#39;App&#39;,&#39;myException&#39;));

throw new Exception(&#39;Uncaught Exception occurred&#39;);
?>

The above is the detailed content of Usage of php set_exception_handler() function. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn