Recently a young man I have know since birth found himself in one of these situations. He chose honesty and paid the price but because of his honesty it wasn't as severe as it could have been.
He is currently a junior in high school. Evidently he swiped some passes off one of his teachers' desk. A couple of days later he found himself in a position where another teacher needed some passes because she was out of them. Being the helpful young man that he was raised to be, he offered the teacher his passes. (I know what was he thinking.)
The teacher took the passes and told him he needed to be reported to the administration office. This could be handled one of two ways: 1) he could go now and discuss it with administration or 2) he could be written up and called down to office in a day or two.
Again being the honest person he is, he opted for choice #1. He waited 2 hours sitting in the front office waiting to be called in to see the Assistant Principal, who is responsible for discipline.
She discussed the situation with him, explaining that taking the passes was considered theft. The penalty for theft is five days out of school suspension. (yahoo vacation time to most kids) But because he was honest about his involvement and came to the office of his own accord his punishment would be three days of in school suspension (which means sitting in classroom with a monitor for several hours doing work with no talking or socializing involved).
As parents given these situations we are forced to deal with them. His parents were flabbergasted by this dilemma. On the one hand they thought it was incredibly stupid, why didn't he say he found them on the floor in the hallway and on other hand they were glad that he was honest but not too thrilled with him missing three days of classes. Or for that matter, why would he even think to offer that teacher the passes in the first place.