🔥
CodeIgniter4 独自の例外を定義
実行環境
- PHP 8.2.12
- CodeIgniter 4.5.1
独自例外
app/Exceptions/CustomException.php
<?php
namespace App\Exceptions;
use RuntimeException;
use Throwable;
class CustomException extends RuntimeException
{
/**
* @param string $message
* @param int $code
* @param Throwable|null $previous
*/
public function __construct(string $message, int $code = 0, Throwable $previous = null)
{
parent::__construct($message, $code, $previous);
}
}
公式ドキュメントで特に定められていなかったので app/Exceptions
を作成し配置した。
動作確認
app/Controllers/Home.php
<?php
namespace App\Controllers;
use App\Exceptions\CustomException;
class Home extends BaseController
{
/**
* @return string
* @throws CustomException
*/
public function index(): string
{
if (rand(0, 1) === 1) {
throw new CustomException('Custom Exception Message');
}
return view('welcome_message');
}
}
Discussion