Hi,
Search will return an empty collection if the search fails for any reason, so there is no exception thrown that you can catch here.
If you find an empty collection being returned, and you suspect a field name error, you can check the Columns of the FeatureLayers Table, maybe try the ColumnCollection.FindColumn method to see if the column exists (-1 will be returned if the column name doesnt exist.
There's no expression validator built in to the API I'm afraid, so that would be trickier to write. If there's still no records returned, it might either be a valid result (there's nothing matching that expression) or the expression might be incorrect - you can test the expression using the Query button in the app to see if that's the case.