|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2012-07-16 15:37 UTC] notdefix at hotmail dot com
[2021-03-31 17:29 UTC] cmb@php.net
-Status: Open
+Status: Wont fix
-Assigned To:
+Assigned To: cmb
[2021-03-31 17:29 UTC] cmb@php.net
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Nov 03 03:00:01 2025 UTC |
Description: ------------ Wouldn't it be nice if the trigger_error function could be called with a user-defined $errline and $errfile? Imagine you were writing an Abstract Class and wanted to handle class errors internally. Theoretically, you could retrieve the name of the current error handler by using the set_error_handler function and then the restore_error_handler function. Then, you could use call_user_func to trigger a user-defined error. However, if no error handler has been defined previously, set_error_handler will return null and the procedure would fail alltogether. On the other hand, calling trigger_error will show the file and line where the trigger_error function was called (which is very unuseful). Test script: --------------- // Get the current error handler function void ( $errno, $errstr ) { } $error_handler = set_error_handler ( "void" ); restore_error_handler(); // User-define error $error_arguments = array ( $errno, $errstr, $errfile, $errline ); // Trigger error call_user_func ( $error_handler, $error_arguments ); // This will only work as long as an error handler has been previously set. // Instead, the following function is proposed: trigger_error ( string $error_msg, int $error_type = E_USER_NOTICE, string $error_file, string $error_line );