


# handleException function










void handleException
(String name, dynamic exception, void close())



<p>Calls close and prints the exception.</p>



## Implementation

```dart
void handleException(String name, dynamic exception, void Function() close) {
  close();
  print('Exception handling method call $name: $exception');
}
```







