{"id":18369763,"url":"https://github.com/dazzle-php/throwable","last_synced_at":"2025-06-22T09:38:23.949Z","repository":{"id":56963808,"uuid":"94644009","full_name":"dazzle-php/throwable","owner":"dazzle-php","description":"Dazzle Throwable Hierarchy","archived":false,"fork":false,"pushed_at":"2017-08-06T20:49:49.000Z","size":54,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-22T04:23:56.428Z","etag":null,"topics":["error","error-handling","exception","exception-handling","php","php-lib","php7","throw"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dazzle-php.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-06-17T19:13:21.000Z","updated_at":"2024-12-16T16:13:52.000Z","dependencies_parsed_at":"2022-08-21T09:50:59.717Z","dependency_job_id":null,"html_url":"https://github.com/dazzle-php/throwable","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dazzle-php%2Fthrowable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dazzle-php%2Fthrowable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dazzle-php%2Fthrowable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dazzle-php%2Fthrowable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dazzle-php","download_url":"https://codeload.github.com/dazzle-php/throwable/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247531267,"owners_count":20953929,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["error","error-handling","exception","exception-handling","php","php-lib","php7","throw"],"created_at":"2024-11-05T23:31:37.798Z","updated_at":"2025-04-06T18:32:24.820Z","avatar_url":"https://github.com/dazzle-php.png","language":"PHP","readme":"# Dazzle Throwable Hierarchy\n\n[![Build Status](https://travis-ci.org/dazzle-php/throwable.svg)](https://travis-ci.org/dazzle-php/throwable)\n[![Code Coverage](https://scrutinizer-ci.com/g/dazzle-php/throwable/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/dazzle-php/throwable/?branch=master)\n[![Code Quality](https://scrutinizer-ci.com/g/dazzle-php/throwable/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/dazzle-php/throwable/?branch=master)\n[![Latest Stable Version](https://poser.pugx.org/dazzle-php/throwable/v/stable)](https://packagist.org/packages/dazzle-php/throwable) \n[![Latest Unstable Version](https://poser.pugx.org/dazzle-php/throwable/v/unstable)](https://packagist.org/packages/dazzle-php/throwable) \n[![License](https://poser.pugx.org/dazzle-php/throwable/license)](https://packagist.org/packages/dazzle-php/throwable/license)\n\n\u003e **Note:** This repository is part of [Dazzle Project](https://github.com/dazzle-php/dazzle) - the next-gen library for PHP. The project's purpose is to provide PHP developers with a set of complete tools to build functional async applications. Please, make sure you read the attached README carefully and it is guaranteed you will be surprised how easy to use and powerful it is. In the meantime, you might want to check out the rest of our async libraries in [Dazzle repository](https://github.com/dazzle-php) for the full extent of Dazzle experience.\n\n\u003cbr\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/dazzle-php/dazzle/master/media/dazzle-x125.png\" /\u003e\n\u003c/p\u003e\n\n## Description\n\nDazzle Throwable is a component that provides unified throwable hierarchy and additional helpers.\n\n## Feature Highlights\n\nDazzle Throwable features:\n\n* Custom hierarchy of Throwables created in mind of unifying error and exception handling in PHP5 and PHP7,\n* Custom human-readable format for stack trace and exception trace,\n* Support for chaining Throwables,\n* Built-in ErrorHandler,\n* Built-in ExceptionHandler,\n* Implementation of throwable objects proxy,\n* ...and more.\n\n## Provided Example(s)\n\nProvided throwable hierarchy:\n\n```\nThrowable\n    Error\n        FatalError\n        WarningError\n        NoticeError\n    Exception\n        LogicException\n            IllegalCallException\n            IllegalFieldException\n            InstantiationException\n            InvalidArgumentException\n            InvalidFormatException\n            ResourceException\n            ResourceOccupiedException\n            ResourceUndefinedException\n        RuntimeException\n            CancellationException\n            ExecutionException\n            OutOfBoundsException\n            OverflowException\n            ReadException\n            RejectionException\n            TimeoutException\n            UndeflowException\n            UnexpectedValueException\n            WriteException\n```\n\n## Requirements\n\nDazzle Throwable requires:\n\n* PHP-5.6 or PHP-7.0+,\n* UNIX or Windows OS.\n\n## Installation\n\nTo install this library make sure you have [composer](https://getcomposer.org/) installed, then run following command:\n\n```\n$\u003e composer require dazzle-php/throwable\n```\n\n## Tests\n\nTests can be run via:\n\n```\n$\u003e vendor/bin/phpunit -d memory_limit=1024M\n```\n\n## Versioning\n\nVersioning of Dazzle libraries is described in versioning section of [Dazzle Project](https://github.com/dazzle-php/dazzle) index repository. Please, refer there for detailed information on the subject.\n\n## Contributing\n\nThank you for considering contributing to this repository! \n\n- The contribution guide can be found in the [contribution tips](https://github.com/dazzle-php/throwable/blob/master/CONTRIBUTING.md). \n- Open tickets can be found in [issues section](https://github.com/dazzle-php/throwable/issues). \n- Current contributors are listed in [graphs section](https://github.com/dazzle-php/throwable/graphs/contributors)\n- To contact the author(s) see the information attached in [composer.json](https://github.com/dazzle-php/throwable/blob/master/composer.json) file.\n\n## License\n\nDazzle Throwable is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT).\n\n\u003chr\u003e\n\u003cp align=\"center\"\u003e\n\u003ci\u003e\"Everything is possible. The impossible just takes longer.\"\u003c/i\u003e ― Dan Brown\n\u003c/p\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdazzle-php%2Fthrowable","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdazzle-php%2Fthrowable","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdazzle-php%2Fthrowable/lists"}