I suggest including `with open(...) as csv_file:` in your try.

```python
try:
    with open(fname) as csv_file:  # Also no need to specify 'r' since it's default behaviour.
        reader = csv.DictReader(csv_file)
        ...
except IOError:
    log.exception(...)
```