Should students only be judge by their results in end-of-year exams?

Students oftentimes complain about studying for hours on end and then doing not well in their final exams. Is it fair enough to judge students only by their results in end-of-year exams? I do not think so. In my opinion there is a great progress in many fields, but exams are still a primitive method of testing knowledge and ability. Firstly, poor performance can be conditioned by many factors such as illness or a personal problem, such as breaking up with a boyfriend/girlfriend, which are the most common. Secondly, exams should test what you know, but by contraries the most successful candidates are not best-educated students, but best trained in techniques of exams. Except of these factors there is one more. Getting high grades can also put a terrible strain on the student who does not want to let his/her parents down. Besides, assessment by the examiner can also be subjective. It is necessary to do so, that students would not be in horror of exams, because they can not give the best of them if they are in terror or after a sleepless night. If we want to tackle this problem, we must look out for more ways how to evaluate students abilities. I think, that exams must be only a part of all the objects, which would be written into the certificate. Other part can comprise of various papers, studies, analysis and others, including half-yearly and yearly semester marks. This seems to be a fairer way to estimate the discrimination of the students not just by testing them.