     public func startObserving() throws {
         if source != nil {
             throw Error.AlreadyObserving
+        }
+
+        guard let path = watchedPath.path else {
+            throw Error.InvalidPath
         }
 
         // Open an event-only file descriptor associated with the directory

    // MARK: - Errors

    public enum Error: ErrorType {
        case AlreadyObserving, FailedToStartObserver, FailedToStopObserver
    }

    // MARK: - Attributes


    /// Stops the observer
    public func stopObserving() throws {
        if source != nil {
            dispatch_source_cancel(source!)
            source = nil
        }

        isObserving = false
