azmolla / blade-try-catch
Blade directives for try-catch-finally blocks in Laravel Blade templates
Requires
- php: ^7.1 || ^8.0
- illuminate/support: 5.8.*|6.*|7.*|8.*|^9.0|^10.0|^11.0|^12.0
Requires (Dev)
- orchestra/testbench: 4.*|5.*|6.*|7.*|8.*|9.*|10.*
- pestphp/pest: ^2.0
This package is auto-updated.
Last update: 2025-07-08 09:32:58 UTC
README
Overview
This Laravel package adds native-like @try
, @catch
, @finally
, and @endtry
directives to Blade templates, allowing you to handle exceptions gracefully inside your views.
You no longer need to clutter your controllers for simple error handling in views — this package provides a clean, elegant syntax for try-catch-finally in Blade.
Compatible with Laravel 5.8 through 12 and PHP 7.1+.
Installation
You can install the package via Composer:
composer require azmolla/blade-try-catch
The package auto-registers the service provider via Laravel's package discovery. No manual provider registration needed.
Usage
Use the directives in any Blade view:
@try {{-- Code that may throw an exception --}} {{ riskyFunction() }} @catch(\Exception $e) {{-- Handle the exception --}} <div class="error">Error: {{ $e->getMessage() }}</div> @finally {{-- Code that always runs --}} <p>Cleanup completed.</p> @endtry
Testing
This package uses Pest for testing.
To run tests locally:
composer test
Make sure to install development dependencies before running tests:
composer install --dev
Contributing
Contributions, issues, and feature requests are welcome!
- Fork the repo
- Create your feature branch (
git checkout -b feature/my-feature
) - Commit your changes (
git commit -m 'Add new feature'
) - Push to the branch (
git push origin feature/my-feature
) - Open a pull request
Please ensure your code passes existing tests and write new tests if applicable.
Links & Credits
License
MIT © 2025 Abiruzzaman Molla