use Buffer.BlockCopy instead of Array.Copy.
store last thrown exception in FormatCatalog.LastError.
display error message if audio file reading failed.