If I am the TA for a class, what should I do if a student asks me a question which I can't answer? While "tell the truth and say you don't know" is one approach, are there other options?
I agree that honesty is the best policy, and it's too bad if you're in a situation in which you feel worried about admitting you don't know the answer. You shouldn't try to bluff, by pretending you know but don't have time to explain or by giving an intentionally vague answer. However, there are ways of handling it more smoothly than just saying "I don't know" and leaving it at that. Depending on the circumstances, you can say "That's a really interesting question. I haven't thought about it, so I'll have to look into it, but let's talk about it in office hours." (Or you can promise to return to the topic in the next class meeting if it's really relevant to the course and everyone in the class will want to know the answer.) Or "These issues can be complicated. I don't know the details off the top of my head, but the place I'd look them up is Reference Work X. I'd be happy to show you where to find it after class." Or "That's a good question, but it's somewhat beyond the scope of this class. I'd be happy to investigate it with you outside of class."
The key is to respect the student's desire to learn. If you avoid the question or give an answer you know is inadequate, then you're being deliberately unhelpful. If you just give up and admit defeat, then at least you're being honest, but the student still isn't finding out what he/she wanted to know. If you respond by pointing the student on the road to an answer, even if you can't supply it off the top of your head, then you've done everything that can be expected of you.
I'm a professor, so I am expected to know the answers, but sometimes I don't. This often involves some minor detail in a programming language.
So I usually say, "That's a good question. I don't want to give a wrong answer, so let me think about that and get back to you." We use a course management system which includes a discussion board, so I will usually then add, "I don't want to forget, so post that on the forum. That way everyone will see the answer." Then in the posted answer I try to explain how I found the information. I find this works well.
I don't know the answer to your question at the moment, let us all try to find a solution together.
In that way, you are communicating the fact that there are always new ways to look at things and presented for the first time, it is difficult to answer.
Then, you might well be in the same shoes as the questioner and other students and one logical way is to sit and solve it together. You could invite the whole class if you wish; a cooperative effort. The main idea is to try to find a way to tackle the problem before it dies away.
You should say that you don't know the answer or did not prepare for answering it (especially if it is a question that is out of topic). Then you can either search for the answer with the student if you have time and it is appropriate. Or if you cannot at that moment, you can say that you will look for it and give the student some explanation by e-mail or next time. This is something that happens even to professors sometimes.