Ah ha! It's getting philosophical. 
I don't mind an overarching catchall if the time is right for it. Mind you, errors are usually much more likely to get your attention than a logging line. 
I often use a `try: except Exception:` approach to things such as emailing the admin when a user signs up or something like that. 

However, I believe you should go all the way you possibly can to avoid the exception from a code point of view. What you have now is business logic and catch-all mixed into one. 

The reason you're doing this is because you don't want to insert the same File more than once if it matches on `file_name`, `debug_filename` and `version` right? 

I suggest you do this instead (quickly written):

```python
for row in datareader:
    try:
        file_ = File.objects.get(file_name=row[0], debug_filename=row[1]), ...
        if file_: 
           # update it, or just ignore it
           pass
        else:
            File.objects.create(file_name=row[0], modified_by=sys_user, ...
    except Exception:
        logging.error('Failed to load a row for some reason', exc_info=True)
```