So strange code style.. I think, in your case there is no sence for nested try-catch block.
Maybe it's better to use this:
try
{
TextReader tr = new StreamReader("asd.txt");
txtdescription.Text = tr.ReadToEnd();
}
catch (ConcreteException ex)
{
MessageBox.Show(ex.Message);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
tr.Close();
}
But if you really want to get exception in your code, you can write
tr.Close()
before
txtdescription.Text = tr.ReadToEnd();
Or you can read about
TextReader ReadToEnd method[
^] and think of case, when this exceptions can be raised.