Talking about the philosophical aspect of this, the purpose of testing is not to prove that the application works, but rather to find the bugs so that the application can be improved. You can improve an application over time, but can never make it 100% correct (there is no way to prove or measure that any way). Expect certain amount of issues and don't be surprised.
Talking about the psychological or behavioral aspect of this matter, when testers found bugs, they should be proud that they helped and view this as the success of teamwork between testers and programmers. For testers to blame programmers of not programming well, or for programmers to blame testers of not testing well, are both unhealthy behavior and they are equally unhealthy.