Skip to content

Commit ba5d104

Browse files
authored
Update errors.md
1 parent 9c7fce2 commit ba5d104

File tree

1 file changed

+29
-1
lines changed

1 file changed

+29
-1
lines changed

errors.md

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
git b1b94b48f6779b37c412740a1806e6c1f4023a31
1+
git 0f19f3d770b961aee8576b24deb394a0b9a2f7ad
22

33
---
44

@@ -11,6 +11,7 @@ git b1b94b48f6779b37c412740a1806e6c1f4023a31
1111
- [Игнорирование исключений по типу](#ignoring-exceptions-by-type)
1212
- [Отображение исключений](#rendering-exceptions)
1313
- [Отчетные и отображаемые исключения](#renderable-exceptions)
14+
- [Сопоставление исключений по типу](#mapping-exceptions-by-type)
1415
- [HTTP-исключения](#http-exceptions)
1516
- [Пользовательские страницы ошибок HTTP](#custom-http-error-pages)
1617

@@ -248,6 +249,33 @@ git b1b94b48f6779b37c412740a1806e6c1f4023a31
248249

249250
> {tip} Вы можете указать любые требуемые зависимости метода `report`, и они будут автоматически внедрены в метод [контейнером служб](/docs/{{version}}/container) Laravel.
250251
252+
<a name="mapping-exceptions-by-type"></a>
253+
### Сопоставление исключений по типу
254+
255+
Иногда сторонние библиотеки, используемые вашим приложением, могут генерировать исключения, которые вы хотите сделать доступными для [рендеринга](#renderable-exceptions), но не можете этого сделать, потому что у вас нет контроля над определениями сторонних исключений.
256+
257+
К счастью, Laravel позволяет вам удобно сопоставлять эти исключения с другими типами исключений, которыми вы управляете в своем приложении. Для этого вызовите метод `map` из метода `register` вашего обработчика исключений :
258+
259+
use League\Flysystem\Exception;
260+
use App\Exceptions\FilesystemException;
261+
262+
/**
263+
* Register the exception handling callbacks for the application.
264+
*
265+
* @return void
266+
*/
267+
public function register()
268+
{
269+
$this->map(Exception::class, FilesystemException::class);
270+
}
271+
272+
Если вы хотите больше контролировать создание целевого исключения, вы можете передать методу `map` замыкание:
273+
274+
use League\Flysystem\Exception;
275+
use App\Exceptions\FilesystemException;
276+
277+
$this->map(fn (Exception $e) => new FilesystemException($e));
278+
251279
<a name="http-exceptions"></a>
252280
## HTTP-исключения
253281

0 commit comments

Comments
 (0)