2016-03-26 13:54:03 +05:30
|
|
|
---
|
|
|
|
layout: pattern
|
|
|
|
title: Mute Idiom
|
|
|
|
folder: mute-idiom
|
|
|
|
permalink: /patterns/mute-idiom/
|
2019-12-13 21:09:28 +02:00
|
|
|
categories: Idiom
|
2021-05-19 10:49:05 -06:00
|
|
|
language: en
|
2016-03-26 13:54:03 +05:30
|
|
|
tags:
|
2019-12-13 21:09:28 +02:00
|
|
|
- Decoupling
|
2016-03-26 13:54:03 +05:30
|
|
|
---
|
|
|
|
|
|
|
|
## Intent
|
2016-07-21 09:27:48 +03:00
|
|
|
Provide a template to suppress any exceptions that either are declared but cannot occur or should only be logged;
|
2016-03-26 13:54:03 +05:30
|
|
|
while executing some business logic. The template removes the need to write repeated `try-catch` blocks.
|
|
|
|
|
2019-12-07 20:01:13 +02:00
|
|
|
## Class diagram
|
2016-03-26 13:54:03 +05:30
|
|
|

|
|
|
|
|
|
|
|
## Applicability
|
|
|
|
Use this idiom when
|
|
|
|
|
2016-07-21 09:27:48 +03:00
|
|
|
* an API declares some exception but can never throw that exception eg. ByteArrayOutputStream bulk write method.
|
2016-03-26 13:54:03 +05:30
|
|
|
* you need to suppress some exception just by logging it, such as closing a resource.
|
|
|
|
|
|
|
|
## Credits
|
|
|
|
|
|
|
|
* [JOOQ: Mute Design Pattern](http://blog.jooq.org/2016/02/18/the-mute-design-pattern/)
|