use Control.Exception instead of System.IO.Error for try