Variable scope doesn't make sense to me when it comes to Try Catch Finally.\n\nExample: In order to close/dispose a db connection you have to dim the\nconnection outside of the Try Catch Finally block. But, I prefer to dim them\n"on the fly" only if needed (save as much resources as possible). A little\nfurther... I may wish to create a sqlcommand and datareader object ONLY if\ncertain conditions are met. But, if I want to clean these up in the Finally\nthen I am FORCED to declare them above the Try.\n\nWhy???