It's ok to throw an exception for the moment, but when you look at https://scala-ide-portfolio.assembla.com/spaces/scala-ide/tickets/1001629#/activity/ticket: you probably also plan to have a more robust approach for this. If you can't index the current ``ifile``, it doesn't mean you won't be able to process the next one (also, you may need to create more specific exception for distinguishing the case when you'll be able to recover from the ones you can't). And, when you can't process a resource, you'll probably want to save the information somewhere so that you can tell the user that the search result may be inacurrate because resource XXX couldn't be found/indexed.