DivisionByZeroError 是 ArithmeticError 的子類,當(dāng)除法運(yùn)算的分母值為0時(shí),會(huì)拋出這種類型的異常。另外,當(dāng)使用取模運(yùn)算符(%)時(shí),如果第二個(gè)操作數(shù)為0且第二個(gè)參數(shù)也為0,則 intdiv() 函數(shù)也會(huì)引發(fā) DivisionByZeroError 異常。
一、類摘要
class DivisionByZeroError extends ArithmeticError { /* 繼承的屬性 */ protected string $message = ""; private string $string = ""; protected int $code; protected string $file = ""; protected int $line; private array $trace = []; private ?Throwable $previous = null; /* 繼承的方法 */ public Error::__construct(string $message = "", int $code = 0, ?Throwable $previous = null) final public Error::getMessage(): string final public Error::getPrevious(): ?Throwable final public Error::getCode(): int final public Error::getFile(): string final public Error::getLine(): int final public Error::getTrace(): array final public Error::getTraceAsString(): string public Error::__toString(): string private Error::__clone(): void }
二、try-except語句
使用try-except語句可以處理DivisionByZeroError異常,以下是一個(gè)示例:
<?php function divide($a, $b) { try { $result = $a / $b; return $result; } catch (DivisionByZeroError $e) { echo "除數(shù)不能為0"; } } $a = 10; $b = 0; $result = divide($a, $b); ?>
在這個(gè)示例中,我們定義了一個(gè)名為divide的函數(shù),該函數(shù)接受兩個(gè)參數(shù)a和a和b。在函數(shù)內(nèi)部,我們使用try-catch語句來捕獲可能拋出的DivisionByZeroError異常。如果捕獲到異常,我們會(huì)輸出一條錯(cuò)誤消息。如果沒有捕獲到異常,函數(shù)將正常執(zhí)行并返回結(jié)果。