list datasets

what's the purpose to catch GoodDataException and then wrap it into another? Moreover it seems the GoodDataException can't be thrown in the code above? You have this pattern almost everywhere - am I something improtant missing?