367 of 410 menu

ErrorException Klassı

ErrorException klassi əsas Exception klassından miras alır və PHP səhvlərinin istisnalara çevrilməsi üçün istifadə olunur. O, standart istisna funksionallığına səhvin ciddiliyi (severity) haqqında məlumat əlavə edir. Bu klass xüsusilə set_error_handler funksiyası ilə birlikdə istifadə edildikdə faydalıdır.

Sintaksis

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

Nümunə

ErrorException yaradaq və emal edək:

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

Kodun icrasının nəticəsi:

'Error: Critical error Severity: 1'

Nümunə

Standart PHP səhvlərini istisnalara çevirək:

<?php function errorHandler($severity, $message, $file, $line) { throw new ErrorException($message, 0, $severity, $file, $line); } set_error_handler('errorHandler'); try { strpos(); // Səhv arqument sayı } catch (ErrorException $e) { echo 'Caught exception: ' . $e->getMessage(); echo ' in ' . $e->getFile(); echo ' on line ' . $e->getLine(); } ?>

Kodun icrasının nəticəsi (nümunə):

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

Nümunə

Səhvin ciddiliyi haqqında məlumat əldə edək:

<?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'); } ?>

Kodun icrasının nəticəsi:

'Severity level: 2 Is warning: yes'

Həmçinin bax

  • klass Exception,
    PHP-də bütün istisnalar üçün əsas klass
  • funksiya set_error_handler,
    istifadəçi tərəfindən təyin olunan səhv emaledicini təyin edir
Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČ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
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et