Question: Are there any design patterns/methods/ways to remove nested if then else conditions/switch statements?

I remember coming across some methods used by the Google folks listed in a Google code blog post. Can’t seem to find it now though

Answer: 
Have you read [this](http://www.codinghorror.com/blog/archives/000486.html) on flattening arrow code from Coding Horror?

You can replace throw with return or goto if you're using a language without exceptions.
You might want to look at the [Strategy Pattern](http://en.wikipedia.org/wiki/Strategy_pattern), wherein instead of putting a long chain of ifs with linked conditions, you abstract each condition to a different object, each one defining what its specific behavior. 

The class that defines those objects will implement an Interface which will be called by the parent object.