I don't know the specifics of what would happen in the code per se, but I would like to address the issue of how to handle this kind of exception.
In essence this kind of issue where more logging would be useful. However you have to consider if the the logging mechanism is the issue here. You would need to have an alternative logging/reporting system that doesn't rely on the disk.
You could keep adding layers of redundancy, but in my opinion a primary that fails in exceptional circumstances, coupled with a backup that fails in even more exception circumstances is good enough for most apps. If the data resiliency was paramount, then of course you'd be monitoring your resources and mitigating (issue operator warning or what ever you chose as your fall-back mechanism - e.g. backup spool space etc) as the application processed.
In general the cost of all ways up
compared to nearly always up
follows the 80/20 rule in costs and time in development too.