Question: Here is the scenario. In your function you're executing statements using a cursor, but one of them fails and an exception is thrown. Your program exits out of the function before closing the cursor it was working with. Will the cursor float around taking up space? Do I have to close the cursor?

Additionally, the Python documentation has an example of cursor use and says: "We can also close the cursor if we are done with it." The keyword being "can," not "must." What do they mean precisely by this?

Answer: 
I haven't seen any effect for the `sqlite3.Cursor.close()` operation yet. 

After closing, you can still call `fetch(all|one|many)` which will return the remaining results from the previous execute statement. Even running `Cursor.execute()` still works ...
Yes, we should close our cursor. I once encountered an error when I used my cursor to configure my connection object: 'PRAGMA synchronous=off' and 'PRAGMA journal\_mode=off' for faster insertion. Once I closed the cursor, the error went away. I forgot what type of error I encountered.