делайте голосование. я проголосую за третий вариант. потому что есть случаи, когда мне проще сделать raise вначале, чтоб дальше всё не обходить. можете сказать, что я не умею правильно проектировать. но я проголосую за третий вариант: "по ситуации. но, в целом, за структурное программирование"