CakePHPで独自例外を実装します。
独自例外クラス
<?php namespace App\Exception; use Cake\Core\Exception\Exception; /** * */ class OriginalException extends Exception { public function __construct() { parent::__construct('This is a original exception'); } }
独自例外クラスを呼び出すファイル記述
<?php namespace App\Controller; use App\Controller\AppController; use Cake\Core\Exception\Exception; //独自例外クラスのディレクトリ(src/Exceptionに実装した) use App\Exception\NumberFormatException; class SamlpleController extends AppController { ... public function throwException(){ try{ throw new NumberFormatException(); } catch (OriginalException $e){ echo $e->getMessage(); } }
これで独自例外の実装ができます。 ちなみに例外のキャッチを以下のようにすると先に親のExceptionクラスでキャッチされてしまうので注意しなければいけません。
public function throwException(){ try{ throw new NumberFormatException(); } catch (Exception $e){ // こっちでキャッチされてしまう echo $e->getMessage(); } catch (OriginalException $e){ echo $e->getMessage(); }