On your WebView, you can set a LoadHandler object which implements ILoadHandler. That interface is just one method, OnLoadError, which is exactly what you want. Once you've set the LoadHandler, it will get called for things like network timeouts, and you can do whatever you want at that point. (For example, you can have the browser Load an HTML string containing an error message.)
Note that server errors are handled differently. If the server returns e.g. Error 500, that isn't a load error. To catch those, you would need to implement OnResourceResponse as part of the IRequestHandler interface, and then look at the status codes it returns. If you do this, you will probably want to distinguish between errors in your actual pageload and errors in the resources your page fetches (images, stylesheets, etc.). Unfortunately, the only way to tell which is which is by the URL, which you might need to catch in OnBeforeBrowse or something. I'm curious if others have found a good way to solve this problem.