The .Replace() is causing the exception because authorElement.QuerySelector(...).InnerTextClean is returning null. This is very rare (1/100,000) so I would rather use try catch than check for null.
author.salescount = Convert.ToInt32(authorElement.QuerySelector("div.sale-info.is-hidden-phone > em").InnerTextClean.Replace(",", ""));
So my question is, do I have to break this up into many lines and only try catch the individual function that fails?
.ToInt32() obviously cant accept a null, but I would assume the try catch block will throw the exception as soon as it occurs. So then I could wrap the entire thing.
I guess I solved it, am I wrong and/or is there something I haven't considered?