/// <summary>
        /// Raise the FileFailure event.
        /// </summary>
        /// <param name="file">The file name.</param>
        /// <param name="e">The exception detected.</param>
        bool OnFileFailure(string file, Exception e)
        {
            FileFailureHandler handler = FileFailure;

            bool result = (handler != null);

            if ( result ){
                ScanFailureEventArgs args = new ScanFailureEventArgs(file, e);
                FileFailure(this, args);
                alive_ = args.ContinueRunning;
            }
            return result;
        }
 /// <summary>
 /// Raise the DirectoryFailure event.
 /// </summary>
 /// <param name="directory">The directory name.</param>
 /// <param name="e">The exception detected.</param>
 bool OnDirectoryFailure(string directory, Exception e)
 {
     DirectoryFailureHandler handler = DirectoryFailure;
     bool result = (handler != null);
     if ( result ) {
         ScanFailureEventArgs args = new ScanFailureEventArgs(directory, e);
         handler(this, args);
         alive_ = args.ContinueRunning;
     }
     return result;
 }