note 127105 added to language.types.enumerations
| From: | esdras-schonevald at main dot php dot net | Date: | Mon, 16 May 2022 14:07:08 +0000 |
| Subject: | note 127105 added to language.types.enumerations | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-218476@lists.php.net to get a copy of this message | ||
https://gist.github.com/esdras-schonevald/71a6730e6191c5e9c053e2f65b839eec
<?php
declare(strict_types=1);
/**
* This is a sample
* How to use Enum to create a custom exception cases
* PHP 8.1^
*/
enum MyExceptionCase {
case InvalidMethod;
case InvalidProperty;
case Timeout;
}
class MyException extends Exception {
function __construct(private MyExceptionCase $case){
match($case){
MyExceptionCase::InvalidMethod => parent::__construct("Bad Request - Invalid
Method", 400),
MyExceptionCase::InvalidProperty => parent::__construct("Bad Request - Invalid
Property", 400),
MyExceptionCase::Timeout => parent::__construct("Bad Request - Timeout", 400)
};
}
}
// Testing my custom exception class
try {
throw new MyException(MyExceptionCase::InvalidMethod);
} catch (MyException $myE) {
echo $myE->getMessage(); // Bad Request - Invalid Method
}
----
Server IP: 45.112.84.4
Probable Submitter: 185.85.3.47 (proxied: 191.193.165.64)
----
Manual Page -- https://php.net/manual/en/language.types.enumerations.php
Edit -- https://main.php.net/note/edit/127105
Del: integrated -- https://main.php.net/note/delete/127105/integrated
Del: useless -- https://main.php.net/note/delete/127105/useless
Del: bad code -- https://main.php.net/note/delete/127105/bad+code
Del: spam -- https://main.php.net/note/delete/127105/spam
Del: non-english -- https://main.php.net/note/delete/127105/non-english
Del: in docs -- https://main.php.net/note/delete/127105/in+docs
Del: other reasons-- https://main.php.net/note/delete/127105
Reject -- https://main.php.net/note/reject/127105
Search -- https://main.php.net/manage/user-notes.php