@@ -67,7 +67,7 @@ public static function createFromThrowable(\Throwable $exception, int $statusCod
6767 $ e ->setStatusCode ($ statusCode );
6868 $ e ->setHeaders ($ headers );
6969 $ e ->setTraceFromThrowable ($ exception );
70- $ e ->setClass ($ exception instanceof FatalThrowableError ? $ exception ->getOriginalClassName () : \get_class ($ exception ));
70+ $ e ->setClass ($ exception instanceof FatalThrowableError ? $ exception ->getOriginalClassName () : get_debug_type ($ exception ));
7171 $ e ->setFile ($ exception ->getFile ());
7272 $ e ->setLine ($ exception ->getLine ());
7373
@@ -134,7 +134,11 @@ public function getClass()
134134 */
135135 public function setClass ($ class )
136136 {
137- $ this ->class = 'c ' === $ class [0 ] && 0 === strpos ($ class , "class@anonymous \0" ) ? get_parent_class ($ class ).'@anonymous ' : $ class ;
137+ if (preg_match ('/^([ \\\\\w]+)@anonymous\x00.*?\.php(?:0x?|:[0-9]++\$)[0-9a-fA-F]++/ ' , $ class , $ matches )) {
138+ $ this ->class = ('class ' === $ matches [1 ] ? get_parent_class ($ matches [0 ]) : $ matches [1 ]).'@anonymous ' ;
139+ } else {
140+ $ this ->class = $ class ;
141+ }
138142
139143 return $ this ;
140144 }
@@ -179,9 +183,13 @@ public function getMessage()
179183 */
180184 public function setMessage ($ message )
181185 {
182- if (false !== strpos ($ message , "class@anonymous \0" )) {
183- $ message = preg_replace_callback ('/class@anonymous\x00.*?\.php(?:0x?|:[0-9]++\$)[0-9a-fA-F]++/ ' , function ($ m ) {
184- return class_exists ($ m [0 ], false ) ? get_parent_class ($ m [0 ]).'@anonymous ' : $ m [0 ];
186+ if (str_contains ($ message , "@anonymous \0" )) {
187+ $ message = preg_replace_callback ('/([a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*)@anonymous\x00.*?\.php(?:0x?|:[0-9]++\$)[0-9a-fA-F]++/ ' , static function ($ m ) {
188+ if ('class ' === $ m [1 ]) {
189+ return class_exists ($ m [0 ], false ) ? (get_parent_class ($ m [0 ]) ?: 'class ' ).'@anonymous ' : $ m [0 ];
190+ }
191+
192+ return $ m [1 ].'@anonymous ' ;
185193 }, $ message );
186194 }
187195
0 commit comments