Path: blob/main/SignalServiceKit/Debugging/OWSAssertionError.swift
1 views
//
// Copyright 2024 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
import Foundation
public struct OWSAssertionError: Error {
#if TESTABLE_BUILD
public static var test_skipAssertions = false
#endif
public let description: String
public init(
_ description: String,
logger: PrefixedLogger = .empty(),
file: String = #fileID,
function: String = #function,
line: Int = #line,
) {
#if TESTABLE_BUILD
if Self.test_skipAssertions {
logger.warn("assertionError: \(description)")
} else {
owsFailDebug("assertionError: \(description)", logger: logger, file: file, function: function, line: line)
}
#else
owsFailDebug("assertionError: \(description)", logger: logger, file: file, function: function, line: line)
#endif
self.description = description
}
}
// An error that won't assert.
public struct OWSGenericError: Error {
public let description: String
public init(_ description: String) {
self.description = description
}
}