This paper aims to develop an analysis of how ignorance affects the reasoning activity and is related to the concept of uncertainty. With reference to a simple inferential reasoning step, involving a single piece of relational knowledge, we identify four types of ignorance and show how they give rise to different types of uncertainty. We then introduce the concept of reasoning attitude, as a basic choice about how reasoning should be carried out in presence of ignorance. We identify two general attitudes, analyze how they are related to different types of ignorance, and propose some general requirements about how they should affect the reasoning activity. A formalism for uncertain reasoning explicitly including the different types of uncertainty identified and satisfying the stated requirements is finally introduced and its performance is analyzed in simple examples.