Danh sách ngoại lệ php

Khi một ngoại lệ được ném, PHP không thể quay lại dòng mã xuất hiện sau dòng đã ném ngoại lệ. Bắt một ngoại lệ không thay đổi gì về vấn đề này. Ném một ngoại lệ là một vé một chiều

Không giống như các lỗi, các ngoại lệ không có khả năng phục hồi từ chúng và làm cho PHP tiếp tục thực thi mã như thể không có ngoại lệ nào cả

Do đó PHPUnit thậm chí không đến được nơi

$this->expectException[\InvalidArgumentException::class];

nếu nó được đi trước bởi

throw new \InvalidArgumentException[];

Hơn nữa, PHPUnit sẽ không bao giờ có thể đạt được vị trí đó, bất kể khả năng bắt ngoại lệ của nó.

Do đó, sử dụng bất kỳ phương pháp kiểm tra ngoại lệ nào của PHPUnit

$this->expectException[string $exceptionClassName];
$this->expectExceptionCode[int|string $code];
$this->expectExceptionMessage[string $message];
$this->expectExceptionMessageMatches[string $regularExpression];
$this->expectExceptionObject[\Exception $exceptionObject];

phải ở trước một mã trong đó một ngoại lệ dự kiến ​​sẽ được đưa ra trái ngược với một xác nhận được đặt sau khi một giá trị thực được đặt

Một thứ tự thích hợp của việc sử dụng kiểm tra ngoại lệ

Chủ Đề