PHPackages                             kaida-by/php-multiexception - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. kaida-by/php-multiexception

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

kaida-by/php-multiexception
===========================

Catch a few exceptions and show them

05PHP

Since Jan 30Pushed 3y ago1 watchersCompare

[ Source](https://github.com/Kaida-by/php-multiexception)[ Packagist](https://packagist.org/packages/kaida-by/php-multiexception)[ RSS](/packages/kaida-by-php-multiexception/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

Usage Example
-------------

[](#usage-example)

```
use KaidaBy\MultiException;

function checkSomethingString($string): bool
{
    $exceptions = new MultiException();

    if (mb_strlen($string) < 6) {
        $exceptions->add(new Exception('The string must be longer than 6 characters'));
    }

    if (!is_string($string)) {
        $exceptions->add(new Exception('The input parameter should be a string'));
    }

    if (preg_match('%^\p{Lu}%u', $string)) {
        $exceptions->add(new Exception('The line must begin with a capital letter.'));
    }

    if (!$exceptions->isEmpty()) {
        throw $exceptions;
    }

    return true;
}

try {
    checkSomething($thing);
} catch (MultiException $exceptions) {
    foreach ($exceptions as $exception) {
        echo $exception->getMessage() . PHP_EOL;
    }
}
```

###  Health Score

14

—

LowBetter than 1% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity24

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/d56258573d062b977b237380a4b4633cdf653da979f35e030accc81f8fa68197?d=identicon)[Kaida-by](/maintainers/Kaida-by)

---

Top Contributors

[![Kaida-by](https://avatars.githubusercontent.com/u/50872044?v=4)](https://github.com/Kaida-by "Kaida-by (2 commits)")

### Embed Badge

![Health badge](/badges/kaida-by-php-multiexception/health.svg)

```
[![Health](https://phpackages.com/badges/kaida-by-php-multiexception/health.svg)](https://phpackages.com/packages/kaida-by-php-multiexception)
```

###  Alternatives

[prism-php/relay

A Prism tool for interacting with MCP servers

15074.0k5](/packages/prism-php-relay)[haringsrob/icecat

Icecat data fetching class

1747.3k](/packages/haringsrob-icecat)[spatie/laravel-long-running-tasks

Handle long running tasks in a Laravel app

389.2k](/packages/spatie-laravel-long-running-tasks)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
