367 of 410 menu

კლასი ErrorException

კლასი ErrorException უკავია მემკვიდრეობით ბაზისური კლასისგან Exception და გამოიყენება PHP შეცდომების გამონაკლისებად გადასაქცევად. ის ამატებს სტანდარტული გამონაკლისის ფუნქციონალს ინფორმაციას შეცდომის სიმძიმის დონეზე (severity). კლასი განსაკუთრებით სასარგებლოა ფუნქცია set_error_handler-თან ერთად გამოსაყენებლად.

სინტაქსი

new ErrorException( string $message = "", int $code = 0, int $severity = E_ERROR, string $filename = __FILE__, int $lineno = __LINE__, Throwable $previous = null );

მაგალითი

შევქმნათ და დავამუშაოთ ErrorException:

<?php try { throw new ErrorException('Critical error', 0, E_ERROR); } catch (ErrorException $e) { echo 'Error: ' . $e->getMessage(); echo ' Severity: ' . $e->getSeverity(); } ?>

კოდის შესრულების შედეგი:

'Error: Critical error Severity: 1'

მაგალითი

გადავაქციოთ PHP-ის სტანდარტული შეცდომები გამონაკლისებად:

<?php function errorHandler($severity, $message, $file, $line) { throw new ErrorException($message, 0, $severity, $file, $line); } set_error_handler('errorHandler'); try { strpos(); // არასწორი რაოდენობის არგუმენტები } catch (ErrorException $e) { echo 'Caught exception: ' . $e->getMessage(); echo ' in ' . $e->getFile(); echo ' on line ' . $e->getLine(); } ?>

კოდის შესრულების შედეგი (მაგალითი):

'Caught exception: strpos() expects at least 2 parameters, 0 given in /path/to/file.php on line 10'

მაგალითი

მივიღოთ ინფორმაცია შეცდომის სიმძიმის დონეზე:

<?php try { throw new ErrorException('Warning message', 0, E_WARNING); } catch (ErrorException $e) { echo 'Severity level: ' . $e->getSeverity(); echo ' Is warning: ' . ($e->getSeverity() === E_WARNING ? 'yes' : 'no'); } ?>

კოდის შესრულების შედეგი:

'Severity level: 2 Is warning: yes'

იხილეთ აგრეთვე

  • კლასი Exception,
    ყველა გამონაკლისის ბაზისური კლასი PHP-ში
  • ფუნქცია set_error_handler,
    რომელიც აყენებს მომხმარებლის მიერ განსაზღვრულ შეცდომების დამმუშავებელს
ქართული
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語Қазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა