opening non-existant file throws exception rather than creating it