Rudra-Exception | API
composer require rudra/exception// Using abort() helper
abort(404);
abort(500, "Internal Server Error");
// Or directly
throw new RouterException("Not Found", 404);
throw new NotFoundException("Resource not found");
throw new LogicException("Invalid configuration");Throwable
└── RuntimeException
└── RudraException
├── RouterException
├── LogicException
│ └── MiddlewareException
├── NotFoundException
└── RuntimeException
Configure error handlers in your setting.{$env}.yml:
http.errors:
404:
controller: App\Ship\Errors\Controller\HttpErrorsController
action: error404
503:
controller: App\Ship\Errors\Controller\HttpErrorsController
action: error503In development mode, exceptions are automatically logged to DebugBar:
if (Rudra::config()->get("environment") === "development") {
$debugbar->addCollector(new DebugBar\DataCollector\ExceptionsCollector());
}This project is licensed under the Mozilla Public License 2.0 (MPL-2.0) — a free, open-source license that:
- Requires preservation of copyright and license notices,
- Allows commercial and non-commercial use,
- Requires that any modifications to the original files remain open under MPL-2.0,
- Permits combining with proprietary code in larger works.
📄 Full license text: LICENSE
🌐 Official MPL-2.0 page: https://mozilla.org/MPL/2.0/