]> granicus.if.org Git - php/commitdiff
Promote warnings to errors in array_multisort()
authorGeorge Peter Banyard <girgias@php.net>
Tue, 20 Aug 2019 21:35:01 +0000 (23:35 +0200)
committerGeorge Peter Banyard <girgias@php.net>
Wed, 21 Aug 2019 16:10:13 +0000 (18:10 +0200)
ext/standard/array.c
ext/standard/tests/array/array_multisort_error.phpt
ext/standard/tests/array/array_multisort_variation1.phpt
ext/standard/tests/array/array_multisort_variation2.phpt
ext/standard/tests/array/array_multisort_variation3.phpt
ext/standard/tests/array/bug77395.phpt

index 678f32708c6834278d977cab109118de8a64d1e0..aca24a435fcc6dd168becaaad0e627711d2a8768 100644 (file)
@@ -5613,7 +5613,7 @@ PHPAPI int php_multisort_compare(const void *a, const void *b) /* {{{ */
 #define MULTISORT_ABORT                                \
        efree(func);    \
        efree(arrays);                                  \
-       RETURN_FALSE;
+       return;
 
 static void array_bucket_p_sawp(void *p, void *q) /* {{{ */ {
        Bucket *t;
@@ -5690,7 +5690,7 @@ PHP_FUNCTION(array_multisort)
                                                sort_order = Z_LVAL_P(arg) == PHP_SORT_DESC ? PHP_SORT_DESC : PHP_SORT_ASC;
                                                parse_state[MULTISORT_ORDER] = 0;
                                        } else {
-                                               php_error_docref(NULL, E_WARNING, "Argument #%d is expected to be an array or sorting flag that has not already been specified", i + 1);
+                                               zend_type_error("Argument #%d is expected to be an array or sorting flag that has not already been specified", i + 1);
                                                MULTISORT_ABORT;
                                        }
                                        break;
@@ -5706,19 +5706,19 @@ PHP_FUNCTION(array_multisort)
                                                sort_type = (int)Z_LVAL_P(arg);
                                                parse_state[MULTISORT_TYPE] = 0;
                                        } else {
-                                               php_error_docref(NULL, E_WARNING, "Argument #%d is expected to be an array or sorting flag that has not already been specified", i + 1);
+                                               zend_type_error("Argument #%d is expected to be an array or sorting flag that has not already been specified", i + 1);
                                                MULTISORT_ABORT;
                                        }
                                        break;
 
                                default:
-                                       php_error_docref(NULL, E_WARNING, "Argument #%d is an unknown sort flag", i + 1);
+                                       zend_type_error("Argument #%d is an unknown sort flag", i + 1);
                                        MULTISORT_ABORT;
                                        break;
 
                        }
                } else {
-                       php_error_docref(NULL, E_WARNING, "Argument #%d is expected to be an array or a sort flag", i + 1);
+                       zend_type_error("Argument #%d is expected to be an array or a sort flag", i + 1);
                        MULTISORT_ABORT;
                }
        }
@@ -5729,7 +5729,7 @@ PHP_FUNCTION(array_multisort)
        array_size = zend_hash_num_elements(Z_ARRVAL_P(arrays[0]));
        for (i = 0; i < num_arrays; i++) {
                if (zend_hash_num_elements(Z_ARRVAL_P(arrays[i])) != (uint32_t)array_size) {
-                       php_error_docref(NULL, E_WARNING, "Array sizes are inconsistent");
+                       zend_throw_error(NULL, "Array sizes are inconsistent");
                        MULTISORT_ABORT;
                }
        }
index 105662be0709666e6231666049cec821fd8de4ba..5d3bab456a72999c1ff0c4c69eda7f6ff387c668 100644 (file)
@@ -12,24 +12,28 @@ echo "*** Testing array_multisort() : error conditions ***\n";
 
 echo "\n-- Testing array_multisort() function with repeated flags --\n";
 $ar1 = array(1);
-var_dump( array_multisort($ar1, SORT_ASC, SORT_ASC) );
+try {
+    var_dump( array_multisort($ar1, SORT_ASC, SORT_ASC) );
+} catch (Error $e) {
+    echo $e->getMessage() . "\n";
+}
 
 echo "\n-- Testing array_multisort() function with repeated flags --\n";
 $ar1 = array(1);
-var_dump( array_multisort($ar1, SORT_STRING, SORT_NUMERIC) );
+try {
+    var_dump( array_multisort($ar1, SORT_STRING, SORT_NUMERIC) );
+} catch (Error $e) {
+    echo $e->getMessage() . "\n";
+}
 
 ?>
 ===DONE===
---EXPECTF--
+--EXPECT--
 *** Testing array_multisort() : error conditions ***
 
 -- Testing array_multisort() function with repeated flags --
-
-Warning: array_multisort(): Argument #3 is expected to be an array or sorting flag that has not already been specified in %sarray_multisort_error.php on line %d
-bool(false)
+Argument #3 is expected to be an array or sorting flag that has not already been specified
 
 -- Testing array_multisort() function with repeated flags --
-
-Warning: array_multisort(): Argument #3 is expected to be an array or sorting flag that has not already been specified in %sarray_multisort_error.php on line %d
-bool(false)
+Argument #3 is expected to be an array or sorting flag that has not already been specified
 ===DONE===
index 677a87103fc94ed636a43bcd13a42b8b47088577..763944054ab70468b78cade4a895b52a16bfdf23 100644 (file)
@@ -97,111 +97,90 @@ $inputs = array(
 
 foreach($inputs as $key =>$value) {
       echo "\n--$key--\n";
-      var_dump( array_multisort($value));
+      try {
+          var_dump( array_multisort($value));
+      } catch (Error $e) {
+          echo $e->getMessage() . "\n";
+      }
 };
 
 ?>
 ===DONE===
---EXPECTF--
+--EXPECT--
 *** Testing array_multisort() : usage variation ***
 
 --int 0--
-Error: 2 - array_multisort(): Argument #1 is expected to be an array or sorting flag that has not already been specified, %sarray_multisort_variation1.php(%d)
-bool(false)
+Argument #1 is expected to be an array or sorting flag that has not already been specified
 
 --int 1--
-Error: 2 - array_multisort(): Argument #1 is expected to be an array or sorting flag that has not already been specified, %sarray_multisort_variation1.php(%d)
-bool(false)
+Argument #1 is expected to be an array or sorting flag that has not already been specified
 
 --int 12345--
-Error: 2 - array_multisort(): Argument #1 is an unknown sort flag, %sarray_multisort_variation1.php(%d)
-bool(false)
+Argument #1 is an unknown sort flag
 
 --int -12345--
-Error: 2 - array_multisort(): Argument #1 is an unknown sort flag, %sarray_multisort_variation1.php(%d)
-bool(false)
+Argument #1 is an unknown sort flag
 
 --float 10.5--
-Error: 2 - array_multisort(): Argument #1 is expected to be an array or a sort flag, %sarray_multisort_variation1.php(%d)
-bool(false)
+Argument #1 is expected to be an array or a sort flag
 
 --float -10.5--
-Error: 2 - array_multisort(): Argument #1 is expected to be an array or a sort flag, %sarray_multisort_variation1.php(%d)
-bool(false)
+Argument #1 is expected to be an array or a sort flag
 
 --float 12.3456789000e10--
-Error: 2 - array_multisort(): Argument #1 is expected to be an array or a sort flag, %sarray_multisort_variation1.php(%d)
-bool(false)
+Argument #1 is expected to be an array or a sort flag
 
 --float -12.3456789000e10--
-Error: 2 - array_multisort(): Argument #1 is expected to be an array or a sort flag, %sarray_multisort_variation1.php(%d)
-bool(false)
+Argument #1 is expected to be an array or a sort flag
 
 --float .5--
-Error: 2 - array_multisort(): Argument #1 is expected to be an array or a sort flag, %sarray_multisort_variation1.php(%d)
-bool(false)
+Argument #1 is expected to be an array or a sort flag
 
 --uppercase NULL--
-Error: 2 - array_multisort(): Argument #1 is expected to be an array or a sort flag, %sarray_multisort_variation1.php(%d)
-bool(false)
+Argument #1 is expected to be an array or a sort flag
 
 --lowercase null--
-Error: 2 - array_multisort(): Argument #1 is expected to be an array or a sort flag, %sarray_multisort_variation1.php(%d)
-bool(false)
+Argument #1 is expected to be an array or a sort flag
 
 --lowercase true--
-Error: 2 - array_multisort(): Argument #1 is expected to be an array or a sort flag, %sarray_multisort_variation1.php(%d)
-bool(false)
+Argument #1 is expected to be an array or a sort flag
 
 --lowercase false--
-Error: 2 - array_multisort(): Argument #1 is expected to be an array or a sort flag, %sarray_multisort_variation1.php(%d)
-bool(false)
+Argument #1 is expected to be an array or a sort flag
 
 --uppercase TRUE--
-Error: 2 - array_multisort(): Argument #1 is expected to be an array or a sort flag, %sarray_multisort_variation1.php(%d)
-bool(false)
+Argument #1 is expected to be an array or a sort flag
 
 --uppercase FALSE--
-Error: 2 - array_multisort(): Argument #1 is expected to be an array or a sort flag, %sarray_multisort_variation1.php(%d)
-bool(false)
+Argument #1 is expected to be an array or a sort flag
 
 --empty string DQ--
-Error: 2 - array_multisort(): Argument #1 is expected to be an array or a sort flag, %sarray_multisort_variation1.php(%d)
-bool(false)
+Argument #1 is expected to be an array or a sort flag
 
 --empty string SQ--
-Error: 2 - array_multisort(): Argument #1 is expected to be an array or a sort flag, %sarray_multisort_variation1.php(%d)
-bool(false)
+Argument #1 is expected to be an array or a sort flag
 
 --string DQ--
-Error: 2 - array_multisort(): Argument #1 is expected to be an array or a sort flag, %sarray_multisort_variation1.php(%d)
-bool(false)
+Argument #1 is expected to be an array or a sort flag
 
 --string SQ--
-Error: 2 - array_multisort(): Argument #1 is expected to be an array or a sort flag, %sarray_multisort_variation1.php(%d)
-bool(false)
+Argument #1 is expected to be an array or a sort flag
 
 --mixed case string--
-Error: 2 - array_multisort(): Argument #1 is expected to be an array or a sort flag, %sarray_multisort_variation1.php(%d)
-bool(false)
+Argument #1 is expected to be an array or a sort flag
 
 --heredoc--
-Error: 2 - array_multisort(): Argument #1 is expected to be an array or a sort flag, %sarray_multisort_variation1.php(%d)
-bool(false)
+Argument #1 is expected to be an array or a sort flag
 
 --instance of classWithToString--
-Error: 2 - array_multisort(): Argument #1 is expected to be an array or a sort flag, %sarray_multisort_variation1.php(%d)
-bool(false)
+Argument #1 is expected to be an array or a sort flag
 
 --instance of classWithoutToString--
-Error: 2 - array_multisort(): Argument #1 is expected to be an array or a sort flag, %sarray_multisort_variation1.php(%d)
-bool(false)
+Argument #1 is expected to be an array or a sort flag
 
 --undefined var--
-Error: 2 - array_multisort(): Argument #1 is expected to be an array or a sort flag, %sarray_multisort_variation1.php(%d)
-bool(false)
+Argument #1 is expected to be an array or a sort flag
 
 --unset var--
-Error: 2 - array_multisort(): Argument #1 is expected to be an array or a sort flag, %sarray_multisort_variation1.php(%d)
-bool(false)
+Argument #1 is expected to be an array or a sort flag
 ===DONE===
index f9a00e9701dc553c1dd3169feb93657350e76b8c..b23d8b19fafc73e74f8a1959331c21a349cc780a 100644 (file)
@@ -104,13 +104,17 @@ $inputs = array(
 // loop through each element of the array for SORT_REGULAR|SORT_NUMERIC|SORT_STRING|SORT_NATURAL|SORT_FLAG_CASE]]
 
 foreach($inputs as $key =>$value) {
-      echo "\n--$key--\n";
-      var_dump( array_multisort($ar1, $value) );
+    echo "\n--$key--\n";
+    try {
+        var_dump( array_multisort($ar1, $value) );
+    } catch (Error $e) {
+        echo $e->getMessage() . "\n";
+    }
 };
 
 ?>
 ===DONE===
---EXPECTF--
+--EXPECT--
 *** Testing array_multisort() : usage variation ***
 
 --int 0--
@@ -120,109 +124,83 @@ bool(true)
 bool(true)
 
 --int 12345--
-Error: 2 - array_multisort(): Argument #2 is an unknown sort flag, %sarray_multisort_variation2.php(%d)
-bool(false)
+Argument #2 is an unknown sort flag
 
 --int -12345--
-Error: 2 - array_multisort(): Argument #2 is an unknown sort flag, %sarray_multisort_variation2.php(%d)
-bool(false)
+Argument #2 is an unknown sort flag
 
 --float 10.5--
-Error: 2 - array_multisort(): Argument #2 is expected to be an array or a sort flag, %sarray_multisort_variation2.php(%d)
-bool(false)
+Argument #2 is expected to be an array or a sort flag
 
 --float -10.5--
-Error: 2 - array_multisort(): Argument #2 is expected to be an array or a sort flag, %sarray_multisort_variation2.php(%d)
-bool(false)
+Argument #2 is expected to be an array or a sort flag
 
 --float 12.3456789000e10--
-Error: 2 - array_multisort(): Argument #2 is expected to be an array or a sort flag, %sarray_multisort_variation2.php(%d)
-bool(false)
+Argument #2 is expected to be an array or a sort flag
 
 --float -12.3456789000e10--
-Error: 2 - array_multisort(): Argument #2 is expected to be an array or a sort flag, %sarray_multisort_variation2.php(%d)
-bool(false)
+Argument #2 is expected to be an array or a sort flag
 
 --float .5--
-Error: 2 - array_multisort(): Argument #2 is expected to be an array or a sort flag, %sarray_multisort_variation2.php(%d)
-bool(false)
+Argument #2 is expected to be an array or a sort flag
 
 --empty array--
-Error: 2 - array_multisort(): Array sizes are inconsistent, %sarray_multisort_variation2.php(%d)
-bool(false)
+Array sizes are inconsistent
 
 --int indexed array--
-Error: 2 - array_multisort(): Array sizes are inconsistent, %sarray_multisort_variation2.php(%d)
-bool(false)
+Array sizes are inconsistent
 
 --associative array--
 bool(true)
 
 --nested arrays--
-Error: 2 - array_multisort(): Array sizes are inconsistent, %sarray_multisort_variation2.php(%d)
-bool(false)
+Array sizes are inconsistent
 
 --uppercase NULL--
-Error: 2 - array_multisort(): Argument #2 is expected to be an array or a sort flag, %sarray_multisort_variation2.php(%d)
-bool(false)
+Argument #2 is expected to be an array or a sort flag
 
 --lowercase null--
-Error: 2 - array_multisort(): Argument #2 is expected to be an array or a sort flag, %sarray_multisort_variation2.php(%d)
-bool(false)
+Argument #2 is expected to be an array or a sort flag
 
 --lowercase true--
-Error: 2 - array_multisort(): Argument #2 is expected to be an array or a sort flag, %sarray_multisort_variation2.php(%d)
-bool(false)
+Argument #2 is expected to be an array or a sort flag
 
 --lowercase false--
-Error: 2 - array_multisort(): Argument #2 is expected to be an array or a sort flag, %sarray_multisort_variation2.php(%d)
-bool(false)
+Argument #2 is expected to be an array or a sort flag
 
 --uppercase TRUE--
-Error: 2 - array_multisort(): Argument #2 is expected to be an array or a sort flag, %sarray_multisort_variation2.php(%d)
-bool(false)
+Argument #2 is expected to be an array or a sort flag
 
 --uppercase FALSE--
-Error: 2 - array_multisort(): Argument #2 is expected to be an array or a sort flag, %sarray_multisort_variation2.php(%d)
-bool(false)
+Argument #2 is expected to be an array or a sort flag
 
 --empty string DQ--
-Error: 2 - array_multisort(): Argument #2 is expected to be an array or a sort flag, %sarray_multisort_variation2.php(%d)
-bool(false)
+Argument #2 is expected to be an array or a sort flag
 
 --empty string SQ--
-Error: 2 - array_multisort(): Argument #2 is expected to be an array or a sort flag, %sarray_multisort_variation2.php(%d)
-bool(false)
+Argument #2 is expected to be an array or a sort flag
 
 --string DQ--
-Error: 2 - array_multisort(): Argument #2 is expected to be an array or a sort flag, %sarray_multisort_variation2.php(%d)
-bool(false)
+Argument #2 is expected to be an array or a sort flag
 
 --string SQ--
-Error: 2 - array_multisort(): Argument #2 is expected to be an array or a sort flag, %sarray_multisort_variation2.php(%d)
-bool(false)
+Argument #2 is expected to be an array or a sort flag
 
 --mixed case string--
-Error: 2 - array_multisort(): Argument #2 is expected to be an array or a sort flag, %sarray_multisort_variation2.php(%d)
-bool(false)
+Argument #2 is expected to be an array or a sort flag
 
 --heredoc--
-Error: 2 - array_multisort(): Argument #2 is expected to be an array or a sort flag, %sarray_multisort_variation2.php(%d)
-bool(false)
+Argument #2 is expected to be an array or a sort flag
 
 --instance of classWithToString--
-Error: 2 - array_multisort(): Argument #2 is expected to be an array or a sort flag, %sarray_multisort_variation2.php(%d)
-bool(false)
+Argument #2 is expected to be an array or a sort flag
 
 --instance of classWithoutToString--
-Error: 2 - array_multisort(): Argument #2 is expected to be an array or a sort flag, %sarray_multisort_variation2.php(%d)
-bool(false)
+Argument #2 is expected to be an array or a sort flag
 
 --undefined var--
-Error: 2 - array_multisort(): Argument #2 is expected to be an array or a sort flag, %sarray_multisort_variation2.php(%d)
-bool(false)
+Argument #2 is expected to be an array or a sort flag
 
 --unset var--
-Error: 2 - array_multisort(): Argument #2 is expected to be an array or a sort flag, %sarray_multisort_variation2.php(%d)
-bool(false)
+Argument #2 is expected to be an array or a sort flag
 ===DONE===
index c625d2a56606edf8894dd94eb206e873bdbd98db..42b1d9fbe571d44e076e925a91a55a378620bb19 100644 (file)
@@ -95,114 +95,92 @@ $inputs = array(
 );
 
 // loop through each element of the array for ar2
-
 foreach($inputs as $key =>$value) {
-      echo "\n--$key--\n";
-      var_dump( array_multisort($ar1, SORT_REGULAR, $value) );
+    echo "\n--$key--\n";
+    try {
+        var_dump( array_multisort($ar1, SORT_REGULAR, $value) );
+    } catch (Error $e) {
+        echo $e->getMessage() . "\n";
+    }
 };
 
 ?>
 ===DONE===
---EXPECTF--
+--EXPECT--
 *** Testing array_multisort() : usage variation ***
 
 --int 0--
-Error: 2 - array_multisort(): Argument #3 is expected to be an array or sorting flag that has not already been specified, %sarray_multisort_variation3.php(%d)
-bool(false)
+Argument #3 is expected to be an array or sorting flag that has not already been specified
 
 --int 1--
-Error: 2 - array_multisort(): Argument #3 is expected to be an array or sorting flag that has not already been specified, %sarray_multisort_variation3.php(%d)
-bool(false)
+Argument #3 is expected to be an array or sorting flag that has not already been specified
 
 --int 12345--
-Error: 2 - array_multisort(): Argument #3 is an unknown sort flag, %sarray_multisort_variation3.php(%d)
-bool(false)
+Argument #3 is an unknown sort flag
 
 --int -12345--
-Error: 2 - array_multisort(): Argument #3 is an unknown sort flag, %sarray_multisort_variation3.php(%d)
-bool(false)
+Argument #3 is an unknown sort flag
 
 --float 10.5--
-Error: 2 - array_multisort(): Argument #3 is expected to be an array or a sort flag, %sarray_multisort_variation3.php(%d)
-bool(false)
+Argument #3 is expected to be an array or a sort flag
 
 --float -10.5--
-Error: 2 - array_multisort(): Argument #3 is expected to be an array or a sort flag, %sarray_multisort_variation3.php(%d)
-bool(false)
+Argument #3 is expected to be an array or a sort flag
 
 --float 12.3456789000e10--
-Error: 2 - array_multisort(): Argument #3 is expected to be an array or a sort flag, %sarray_multisort_variation3.php(%d)
-bool(false)
+Argument #3 is expected to be an array or a sort flag
 
 --float -12.3456789000e10--
-Error: 2 - array_multisort(): Argument #3 is expected to be an array or a sort flag, %sarray_multisort_variation3.php(%d)
-bool(false)
+Argument #3 is expected to be an array or a sort flag
 
 --float .5--
-Error: 2 - array_multisort(): Argument #3 is expected to be an array or a sort flag, %sarray_multisort_variation3.php(%d)
-bool(false)
+Argument #3 is expected to be an array or a sort flag
 
 --uppercase NULL--
-Error: 2 - array_multisort(): Argument #3 is expected to be an array or a sort flag, %sarray_multisort_variation3.php(%d)
-bool(false)
+Argument #3 is expected to be an array or a sort flag
 
 --lowercase null--
-Error: 2 - array_multisort(): Argument #3 is expected to be an array or a sort flag, %sarray_multisort_variation3.php(%d)
-bool(false)
+Argument #3 is expected to be an array or a sort flag
 
 --lowercase true--
-Error: 2 - array_multisort(): Argument #3 is expected to be an array or a sort flag, %sarray_multisort_variation3.php(%d)
-bool(false)
+Argument #3 is expected to be an array or a sort flag
 
 --lowercase false--
-Error: 2 - array_multisort(): Argument #3 is expected to be an array or a sort flag, %sarray_multisort_variation3.php(%d)
-bool(false)
+Argument #3 is expected to be an array or a sort flag
 
 --uppercase TRUE--
-Error: 2 - array_multisort(): Argument #3 is expected to be an array or a sort flag, %sarray_multisort_variation3.php(%d)
-bool(false)
+Argument #3 is expected to be an array or a sort flag
 
 --uppercase FALSE--
-Error: 2 - array_multisort(): Argument #3 is expected to be an array or a sort flag, %sarray_multisort_variation3.php(%d)
-bool(false)
+Argument #3 is expected to be an array or a sort flag
 
 --empty string DQ--
-Error: 2 - array_multisort(): Argument #3 is expected to be an array or a sort flag, %sarray_multisort_variation3.php(%d)
-bool(false)
+Argument #3 is expected to be an array or a sort flag
 
 --empty string SQ--
-Error: 2 - array_multisort(): Argument #3 is expected to be an array or a sort flag, %sarray_multisort_variation3.php(%d)
-bool(false)
+Argument #3 is expected to be an array or a sort flag
 
 --string DQ--
-Error: 2 - array_multisort(): Argument #3 is expected to be an array or a sort flag, %sarray_multisort_variation3.php(%d)
-bool(false)
+Argument #3 is expected to be an array or a sort flag
 
 --string SQ--
-Error: 2 - array_multisort(): Argument #3 is expected to be an array or a sort flag, %sarray_multisort_variation3.php(%d)
-bool(false)
+Argument #3 is expected to be an array or a sort flag
 
 --mixed case string--
-Error: 2 - array_multisort(): Argument #3 is expected to be an array or a sort flag, %sarray_multisort_variation3.php(%d)
-bool(false)
+Argument #3 is expected to be an array or a sort flag
 
 --heredoc--
-Error: 2 - array_multisort(): Argument #3 is expected to be an array or a sort flag, %sarray_multisort_variation3.php(%d)
-bool(false)
+Argument #3 is expected to be an array or a sort flag
 
 --instance of classWithToString--
-Error: 2 - array_multisort(): Argument #3 is expected to be an array or a sort flag, %sarray_multisort_variation3.php(%d)
-bool(false)
+Argument #3 is expected to be an array or a sort flag
 
 --instance of classWithoutToString--
-Error: 2 - array_multisort(): Argument #3 is expected to be an array or a sort flag, %sarray_multisort_variation3.php(%d)
-bool(false)
+Argument #3 is expected to be an array or a sort flag
 
 --undefined var--
-Error: 2 - array_multisort(): Argument #3 is expected to be an array or a sort flag, %sarray_multisort_variation3.php(%d)
-bool(false)
+Argument #3 is expected to be an array or a sort flag
 
 --unset var--
-Error: 2 - array_multisort(): Argument #3 is expected to be an array or a sort flag, %sarray_multisort_variation3.php(%d)
-bool(false)
+Argument #3 is expected to be an array or a sort flag
 ===DONE===
index 7910e36982dccd493ddca057353dec38199eb904..b90e9dd9765dd0d4d6f813b029b77e853927c824 100644 (file)
@@ -10,7 +10,12 @@ function error_handle($level, $message, $file = '', $line = 0){
 }
 set_error_handler('error_handle');
 $data = [['aa'=> 'bb',], ['aa'=> 'bb',],];
-array_multisort(array_column($data, 'bb'),SORT_DESC, $data); // PHP Warning error 
+
+try {
+    array_multisort(array_column($data, 'bb'),SORT_DESC, $data); // PHP Warning error
+} catch (\Error $e) {
+    echo $e->getMessage() . "\n";
+}
 ?>
 --EXPECT--
-array_multisort(): Array sizes are inconsistent
+Array sizes are inconsistent