diff --git a/Sources/Require.swift b/Sources/Require.swift index d3ecd75..8b0eacb 100644 --- a/Sources/Require.swift +++ b/Sources/Require.swift @@ -23,20 +23,24 @@ public extension Optional { line: UInt = #line) -> Wrapped { guard let unwrapped = self else { var message = "Required value was nil in \(file), at line \(line)" + if let hint = hintExpression() { message.append(". Debugging hint: \(hint)") } + #if !os(Linux) - let exception = NSException( - name: .invalidArgumentException, - reason: message, - userInfo: nil - ) - exception.raise() + let exception = NSException( + name: .invalidArgumentException, + reason: message, + userInfo: nil + ) + + exception.raise() #endif + preconditionFailure(message) } - + return unwrapped } }