[PHP] Operator tłumienia błedów


(Marcin E Pc) #1

Witam!

Mam sobie skrypt:

<?php

$a = (57/0);

echo $a;

?>

wiadomo że wygeneruje on błąd o dzieleniu przez zero:

Warning: Division by zero in Unknown on line 0

, ale gdy zapiszę ten skrypt tak:

<?php

$a = @(57/0);

echo $a;

?>

Błąd powinien chyba zostać stłumiony, a mi wyświetla ten sam komunikat o dzieleniu przez zero, dlaczego tak się dzieje, serwer to krasnal 2.7

Pozdrawiam


(Slafur) #2

hmm...

a nie lepiej napisać:

<?php

     error_reporting(0);

     $a = (57/0);

     echo $a;

?>

to rozwiąże problem pokazywania bug'ów


(Marcin E Pc) #3

ja dopiero uczę się php, i jednak chciałbym się dowiedzieć czemu się tak dzieje


(Slafur) #4

Może to jest odpowiedź:

Także tutaj nie zawodzi ten operator - ale sama składnia.

... bo jak powszechnie wiadomo dzielenie przez 0 (zero) - jest błędem :frowning:

I to by było chyba na tyle :slight_smile:


(Marcin E Pc) #5

No to może ci powiem że ten przykład to żywy przykład z książki helionu...

Więc czyli to chyba nie wina skryptu, czyżby błąd w książce helionu?

EDIT:

Już sam się połapałem, w krasnalu nie miałem przestawionej wersji php z 4 na 5, teraz już śmiga :slight_smile:


(Balon) #6

to nie jest dobre rozwiazanie

operator tlumienia powinien zawsze dzialac :]