This can throw IOException. It's fine if you can't recover from that, but we should fail gracefully and notify the user.