Possible Duplicates:
Correct usage of which/that
When is it appropriate to use 'that' as opposed to 'which'?

I'm not a native English speaker and I must confess I'm quite confused about when I should use which in place of that and viceversa.

Is there a particular rule?

For example, let's take this sentence.

The method returns a Whois::Answer instance which essentially looks and behaves like a String but it's way more powerful than a string.

Is it which correct or should I have used that?

A few more examples:

It also includes a huge set of data parsers which converts a raw registry response into a pure Ruby object.


The only exception to this rule is the Timeout::Error exception which is intentionally left unmanaged.

merged by RegDwigнt Mar 5 '11 at 18:49

This question was merged with When to use “that” and when to use “which”? because it is an exact duplicate of that question.

Browse other questions tagged or ask your own question.