У меня будет набор ошибок, легко доступных в парсере, что-то вроде этого:
public class Parser
{
public bool HasErrors {
get { return ParseErrors != null && ParseErrors.Count > 0; }
}
public List<string> ParseErrors { get; set; }
public object Parse(string fileName) {}
}
Или, конечно, какой бы тип ошибки вы ни хотели, может быть, что-то более подробное.
Код, вызывающий вашу библиотеку, будет выглядеть примерно так:
var p = new Parser();
var o = p.Parse("file.txt"); //Get object
if(p.HasErrors) //Uh oh, abort, do something with p.ParseErrors