Arahan throw

Arahan throw digunakan untuk membuang pengecualian secara eksplisit dalam PHP. Ia menerima satu parameter - objek pengecualian, yang mestilah contoh kelas, diwarisi daripada kelas asas Exception. Apabila fungsi ini dipanggil, pelaksanaan kod semasa serta-merta dihentikan, dan PHP cuba mencari blok catch yang sepadan untuk mengendalikan pengecualian.

Sintaks

phpthrow new ExceptionClass(message, code, previous);

Contoh

Contoh mudah penjanaan pengecualian:

php<?php
  $age = -5;
  if ($age < 0) {
    throw new Exception('Umur tidak boleh negatif');
  }
?>

Keputusan pelaksanaan kod:

phpFatal error: Uncaught Exception: Umur tidak boleh negatif

Contoh

Contoh dengan pengendalian pengecualian:

php<?php
  try {
    $res = 10 / 0;
    if (is_infinite($res)) {
      throw new Exception('Pembahagian dengan sifar');
    }
  } catch (Exception $e) {
    echo 'Ralat: ' . $e->getMessage();
  }
?>

Keputusan pelaksanaan kod:

php'Ralat: Pembahagian dengan sifar'

Contoh

Penggunaan pengecualian tersuai:

php<?php
  class MyCustomException extends Exception {}
  
  try {
    throw new MyCustomException('Mesej ralat tersuai');
  } catch (MyCustomException $e) {
    echo 'Ralat tersuai ditangkap: ' . $e->getMessage();
  }
?>

Keputusan pelaksanaan kod:

php'Ralat tersuai ditangkap: Mesej ralat tersuai'

Lihat juga

  • konstruksi try,
    yang menentukan blok kod untuk mengendalikan pengecualian
  • konstruksi catch,
    yang menangkap dan mengendalikan pengecualian
  • kelas Exception,
    yang merupakan kelas asas untuk semua pengecualian