After a classifier is trained using a machine learning algorithm and put to use in a real world system, it often faces noise which did not appear in the training data. Particularly, some subset of features may be missing or may become corrupted. We present two novel machine learning techniques that are robust to this type of classification-time noise. First, we solve an approximation to the learning problem using linear programming. We analyze the tightness of our approximation and prove statistical risk bounds for this approach. Second, we define the onlinelearning variant of our problem, address this variant using a modified Perceptron, and obtain a statistical learning algorithm using an online-tobatch technique. We conclude with a set of experiments that demonstrate the effectiveness of our algorithms.