I use Martin R\'s answer to print the NSSetUncaughtExceptionHandler in Swift.
How should I use NSSetUncaughtExceptionHandler in Swift
  func exceptionHan         
        with the use of NSSetUncaughtExceptionHandler
NSSetUncaughtExceptionHandler { exception in
            print("EXception Details Are \n\nExceptionName--> \(exception.name) \nReason -->\(exception.reason!)\n\(exception.description)")
            print(exception.callStackSymbols)
        }
NSSetUncaughtExceptionHandler takes a C function pointer, and C function bodies are fixed at compile-time. C function pointers get bridged into Swift 2 as @convention(c) function types, and, like in C, you can only pass a function whose body can be fixed at compile-time; i.e. top-level Swift functions, or anonymous function which don't capture any variables.
Your anonymous function captures self from the enclosing scope, so it cannot be used as a C function. You should try to access the controller or do whatever you need to do in some other way using only global variables or classes.