ව්‍යතිරේකය පන්තිය

ව්‍යතිරේකය පන්තිය PHP හි සියලුම ව්‍යතිරේක සඳහා මූලික පන්තිය නියෝජනය කරයි. එය ව්‍යතිරේක සමඟ වැඩ කිරීම සඳහා මූලික ක්‍රම අඩංගු කරයි: දෝෂ පණිවුඩය ලබා ගැනීම, දෝෂ කේතය, ව්‍යතිරේකය ඇති වූ ගොනුව සහ රේඛාව, මෙන්ම ඇමතුම් ස්ටැකය. ව්‍යතිරේකයක් සෑදීමේදී, ඔබට පණිවුඩයක්, දෝෂ කේතයක් සහ පෙර ව්‍යතිරේකය සම්ප්‍රේෂණය කළ හැකිය.

වාක්‍ය රචනය

phpnew Exception(string $message = "", int $code = 0, Throwable $previous = null);

උදාහරණය

සරල ව්‍යතිරේකයක් සාදා එය හසු කර ගනිමු:

php<?php
  try {
    throw new Exception('Something went wrong', 100);
  } catch (Exception $e) {
    echo 'Error: ' . $e->getMessage();
  }
?>

කේතය ක්‍රියාත්මක කිරීමේ ප්‍රතිඵලය:

php'Error: Something went wrong'

උදාහරණය

ව්‍යතිරේකය පන්තියේ මූලික ක්‍රම භාවිතා කරමු:

php<?php
  try {
    throw new Exception('Test exception', 123);
  } catch (Exception $e) {
    echo 'Message: ' . $e->getMessage() . "\n";
    echo 'Code: ' . $e->getCode() . "\n";
    echo 'File: ' . $e->getFile() . "\n";
    echo 'Line: ' . $e->getLine() . "\n";
  }
?>

කේතය ක්‍රියාත්මක කිරීමේ ප්‍රතිඵලය (උදාහරණය):

php'Message: Test exception
Code: 123
File: /path/to/file.php
Line: 3'

උදාහරණය

ව්‍යතිරේකයකදී ඇමතුම් ස්ටැකය ලබා ගනිමු:

php<?php
  function test() {
    throw new Exception('Stack trace test');
  }
  
  try {
    test();
  } catch (Exception $e) {
    print_r($e->getTrace());
  }
?>

කේතය ක්‍රියාත්මක කිරීමේ ප්‍රතිඵලය (උදාහරණය):

php[
  [
    'file' => '/path/to/file.php',
    'line' => 5,
    'function' => 'test',
    'args' => []
  ]
]

මෙයද බලන්න

  • දෝෂ ව්‍යතිරේකය පන්තිය,
    එය දෝෂ ව්‍යතිරේකයක් ලෙස නියෝජනය කරයි
  • set_exception_handler ශ්‍රිතය,
    එය පරිශීලක නිර්මාණය කළ ව්‍යතිරේක හසුකරුවෙකු ස්ථාපනය කරයි