28 lines
780 B
Markdown
Raw Permalink Normal View History

2016-03-26 13:54:03 +05:30
---
layout: pattern
title: Mute Idiom
folder: mute-idiom
permalink: /patterns/mute-idiom/
categories: Idiom
language: en
2016-03-26 13:54:03 +05:30
tags:
- 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.
## Class diagram
2016-03-26 13:54:03 +05:30
![alt text](./etc/mute-idiom.png "Mute Idiom")
## 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/)