@aral
Overall, work silently = good design; fail silently = bad design.

It's one of Unix philosophy design principles, by the way: if a program fails it should make as much stink about it as possible.