367 of 410 menu

Klase ErrorException

Klase ErrorException mantota no bāzes klases Exception un tiek izmantota PHP kļūdu pārvēršanai par izņēmumiem. Tā pievieno standarta izņēmumu funkcionalitātei informāciju par kļūdas nopietnību (severity). Klase ir īpaši noderīga līdz ar funkcijas set_error_handler lietošanu.

Sintakse

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

Piemērs

Izveidosim un apstrādāsim ErrorException:

<?php try { throw new ErrorException('Kritiska kļūda', 0, E_ERROR); } catch (ErrorException $e) { echo 'Kļūda: ' . $e->getMessage(); echo ' Nopietnība: ' . $e->getSeverity(); } ?>

Koda izpildes rezultāts:

'Kļūda: Kritiska kļūda Nopietnība: 1'

Piemērs

Pārveidosim standarta PHP kļūdas par izņēmumiem:

<?php function errorHandler($severity, $message, $file, $line) { throw new ErrorException($message, 0, $severity, $file, $line); } set_error_handler('errorHandler'); try { strpos(); // Nepareizs argumentu daudzums } catch (ErrorException $e) { echo 'Noķerts izņēmums: ' . $e->getMessage(); echo ' failā ' . $e->getFile(); echo ' rindā ' . $e->getLine(); } ?>

Koda izpildes rezultāts (piemērs):

'Noķerts izņēmums: strpos() sagaida vismaz 2 parametrus, 0 doti failā /path/to/file.php rindā 10'

Piemērs

Iegūsim informāciju par kļūdas nopietnību:

<?php try { throw new ErrorException('Brīdinājuma ziņojums', 0, E_WARNING); } catch (ErrorException $e) { echo 'Nopietnības līmenis: ' . $e->getSeverity(); echo ' Vai ir brīdinājums: ' . ($e->getSeverity() === E_WARNING ? 'jā' : 'nē'); } ?>

Koda izpildes rezultāts:

'Nopietnības līmenis: 2 Vai ir brīdinājums: jā'

Skatiet arī

  • klasi Exception,
    bāzes klase visiem izņēmumiem PHP
  • funkciju set_error_handler,
    kas uzstāda lietotāja definētu kļūdu apstrādātāju
Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt