Использует ли использование catch исключение или бросает его? т.е.
using (StreamReader rdr = File.OpenText("file.txt"))
{
//do stuff
}
Если средство чтения потоков генерирует исключение, оно захватывается с помощью или выбрасывается, чтобы вызывающая функция могла его обрабатывать?