Throw buýrugy

throw buýrugy PHP-de ýalňyşlygy aýdan-ýagdaýda çykarmak üçin ulanylýar. Ol bir parametr kabul edýär - Exception esas klasynyň mirasdary bolan klasyň nusgasy bolmaly ýalňyşlyk obýekti. Bu funksiýa çagyrylýança, häzirki kodyň ýerine ýetirilişi derrew togtalýar we PHP ýalňyşlygy işlemek üçin degişli catch blogyny tapmaga synanyşýar.

Sintaksis

phpthrow new ExceptionClass(message, code, previous);

Mysal

Ýalňyşlyk döretmegiň ýönekeý mysaly:

php<?php
  $age = -5;
  if ($age < 0) {
    throw new Exception('Age cannot be negative');
  }
?>

Kodyň ýerine ýetiriliş netijesi:

phpFatal error: Uncaught Exception: Age cannot be negative

Mysal

Ýalňyşlygy işleýän mysal:

php<?php
  try {
    $res = 10 / 0;
    if (is_infinite($res)) {
      throw new Exception('Division by zero');
    }
  } catch (Exception $e) {
    echo 'Error: ' . $e->getMessage();
  }
?>

Kodyň ýerine ýetiriliş netijesi:

php'Error: Division by zero'

Mysal

Ulanyjy ýalňyşlygynyň ulanylmagy:

php<?php
  class MyCustomException extends Exception {}
  
  try {
    throw new MyCustomException('Custom error message');
  } catch (MyCustomException $e) {
    echo 'Custom error caught: ' . $e->getMessage();
  }
?>

Kodyň ýerine ýetiriliş netijesi:

php'Custom error caught: Custom error message'

Şeýle-de garaň

  • try gurluşy,
    ýalňyşlyklary işlemek üçin kod blogyny kesgitleýär
  • catch gurluşy,
    ýalňyşlyklary tutýar we işleýär
  • Exception klassy,
    ähli ýalňyşlyklar üçin esasy klas bolup durýar