Visual classification of facial pose is desirable for computer vision applications such as face recognition, human computer interaction, and affective computing. However, accurate classification of facial pose in an unconstrained environment presents a great challenge. Extant conventional approaches lack the capability to deal with multiple pose-related and -unrelated factors in a uniform way. This paper proposes a robust pose classification framework based on dictionary-learning and sparse representation. With the guide of this framework, a novel face image pre-processing algorithm based on Gaussian weighted and tip of nose is designed to enhance pose-related factors. Further, a new discriminative dictionary learning algorithm is designed for learning a dictionary from training samples to enhance the discriminative capability of its coding vectors. We provide a new insight on discriminative dictionary learning. Specifically, we formulate the discrimination term based on factors analysis. In order to improve the robustness against face occlusion, we introduce a pose occlusion dictionary to code the occluded face images. Several experiments are performed on XJTU,CMU Multi-PIE CAS-PEAL-R1, GTAV and AFLW databases. Recognition results show that the proposed method can achieve recognition rate about 95% under illumination, noises and occlusion variations and thus, is eminently practical.