Because that behaviour might not be desired? If the scripter wants that then the -o switch exists. The two switches and the lack of a switch cover all the possible behaviours that might be wanted.

Code:
		| Exists	| Doesn't Exist
------------------------------------------------
no switch	| opens		| fails
-o		| opens		| opens
-n		| fails		| opens


OK that table sucks but you get the idea.


Spelling mistakes, grammatical errors, and stupid comments are intentional.