Я использую API поиска Windows из С# со следующим запросом:
SELECT System.ItemNameDisplay,SYSTEM.ITEMURL,System.DateModified, System.ItemName, System.Search.Rank, System.Keywords, System.Search.AutoSummary,System.Search.GatherTime, System.ItemType FROM "SYSTEMINDEX" WHERE CONTAINS(*,'"cowie*"',1033) Order By System.DateModified Desc
Эта команда передается объекту OleDbCommand, который считывается в цикле:
while (reader.Read())
{...}
Когда команда запускается, в операторе Reader.Read() возникает неуказанная ошибка после обработки последнего результата. Если строка поиска не существует в поисковом индексе Windows, выдается ошибка без возврата результатов.
Хотя ошибка может быть перехвачена сообщением «Неопределенная ошибка» и не представлена пользователю как ошибка (поскольку кажется, что все результаты возвращаются до ее возникновения), было бы лучше вообще предотвратить ее появление. Может ли кто-нибудь предложить какие-либо рекомендации о том, как это сделать?