php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #31714 exception suppression using @ doesnt work when php is installed asApache module
Submitted: 2005-01-27 03:10 UTC Modified: 2005-01-27 08:12 UTC
Votes:1
Avg. Score:5.0 ± 0.0
Reproduced:0 of 0 (0.0%)
From: alexei at net24 dot co dot nz Assigned:
Status: Not a bug Package: *Web Server problem
PHP Version: 5.0.3 OS: freebsd
Private report: No CVE-ID: None
 [2005-01-27 03:10 UTC] alexei at net24 dot co dot nz
Description:
------------
When error suppression operator is used for the function where exception can be thrown it DOES suppress exception when script is called using CLI but DOES NOT do it when script is called from apache

Reproduce code:
---------------
<?
function throw_ex() {
    throw new exception();
}

echo 1;

@throw_ex(); // suppress exception

echo 2;
?>

Expected result:
----------------
12



Actual result:
--------------
when called via CLI:
12

when called from apache:

1



there's also no fatal error displayed, script just silently dies

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2005-01-27 03:47 UTC] alexei at net24 dot co dot nz
correction

seems that it does not work when called via CLI either
all it does is hiding fatal error message but does not
suppress exception
 [2005-01-27 03:49 UTC] alexei at net24 dot co dot nz
this can be desired behaviour
 [2005-01-27 08:12 UTC] derick@php.net
It is. The shutup operator (@) will hide the message in this case, but a fatal error is always fatal - resulting in no message to be shown. See also: http://www.php.net/manual/en/language.operators.errorcontrol.php
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 11:01:30 2024 UTC