title: What is Foundation._GenericObjCError.NilError?
body: <p>I'm calling some old Objective-C code from Swift, and it will often throw this error, even if it seems nothing went wrong:</p>
  
  <pre class="lang-swift prettyprint-override"><code>do {
      try objCObject.someMethod()
  }
  catch {
      print(error)
      // Trying to handle the error here
  }
  </code></pre>
  
  <p>Where that method's Objective-C signature is like this:</p>
  
  <pre><code>- (BOOL) someMethodWithError: (NSError **) outError;
  </code></pre>
  
  <p>Putting a breakpoint inside that <code>catch</code> I can see this by using the LLDB console.</p>
  
  <pre><code>(lldb) po error
  Foundation._GenericObjCError.nilError
  
  (lldb) po error as NSError
  Error Domain=Foundation._GenericObjCError Code=0 "(null)"
  </code></pre>
  
  <p>What is happening here and how do I handle this? When I try to write a special case for this in Swift, I get this:</p>
  
  <pre><code>/Path/To/My Code.swift:200:27: error: module 'Foundation' has no member named '_GenericObjCError'
                      catch Foundation._GenericObjCError.nilError {
                            ^~~~~~~~~~ ~~~~~~~~~~~~~~~~~
  </code></pre>