# @evo/errcatch

> Catch react errors

Latest version **1.0.7** (published 2022-10-25) · ISC license · 0 weekly downloads

## Install

```sh
npm install @evo/errcatch
pnpm add @evo/errcatch
yarn add @evo/errcatch
bun add @evo/errcatch
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.7 |
| Published | 2022-10-25 |
| First published | 2019-04-01 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | lequan, zemlanin, alexander, seedofjoy, 041616, docccdev, orhideous, tailhook, hunson.abadeer, mark_tven, amostovenko, sadkovoy, himiranov, evo-kazymyrov |

## Links

- npm: https://www.npmjs.com/package/@evo/errcatch
- Repository: https://gitlab.uaprom/evo-frontend/prom
- npm.io page: https://npm.io/package/@evo/errcatch

## Recent versions

- 1.0.7 (latest) — 2022-10-25
- 1.0.6 — 2022-10-25
- 1.0.3 — 2022-06-09
- 1.0.2 — 2022-02-04
- 1.0.1 — 2021-11-17
- 0.1.2 — 2019-12-04
- 0.0.5 — 2019-05-23
- 0.0.4 — 2019-04-01
- 0.0.2 — 2019-04-01

## README

# ErrCatch

npm - https://www.npmjs.com/package/@evo/errcatch

Небольшой компонент вокруг error boundary API - https://reactjs.org/docs/error-boundaries.html.

Фичи:
- В деве будет подсвечивать "упавший" компонент красным. На проде по умолчанию ничего не рендерит.
- Можно задать логирование ошибок в 1 месте (на бекенде через syslog, на фронте через gotcha).
- Есть возможность рендерить кастомный компонент при ошибке.

## Установка

```
npm i @evo/errcatch
```

## Пример:

```jsx
import { ErrCatch, withErrCatch } from '@evo/errcatch'

const Component = () => (
    <div>
        <Component1/>
        <ErrCatch>
            <Component1/>
        </ErrCatch>
    </div>
);

// or HOC
const Component = withErrCatch(() => (
    <div>
        <Component1/>
    </div>
));
```

# Логирование ошибок (gotcha,logevo e.t.c)


```jsx
import { setErrCatchLog } from '@evo/errcatch';
import * as gotcha from '@evo/gotcha-log';

setErrCatchLog((msg, error, info) => {
    console.error(msg, error, info);
    gotcha.error(msg, { message: error.message, stack: error.stack });
});
```

# Custom Error компонент

```jsx
import { ErrCatch } from '@evo/errcatch'

const ErrorComponent = () => <div>Error</div>

const Component = () => (
    <div>
        <Component1/>
        <ErrCatch errorComponent={<ErrorComponent/>}>
            <Component1/>
        </ErrCatch>
    </div>
);
```

---
_Source: https://npm.io/package/@evo/errcatch · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
