| 
									
										
										
										
											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 | 
					
						
							| 
									
										
										
										
											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/) |