Swift Mapping for Local Exceptions
On this page:
Mapped Swift Class
A local Slice exception is mapped to a Swift class with the same name. For example:
Slice
module Ice
{
local exception InitializationException
{
...
}
}
is mapped to the Swift class InitializationException:
Swift
open class InitializationException: LocalException {
// ...
}
Base Class for Local Exceptions in Swift
All mapped Swift classes for local exceptions inherit from class LocalException:
Swift
open class LocalException: Exception, CustomStringConvertible {
public let file: String
public let line: Int
public var description: String {
return "\(file): \(line): \(ice_id())\(ice_print())"
}
public init(file: String = #file, line: Int = #line) {
// ...
}
open class func ice_staticId() -> String {
return "::Ice::LocalException"
}
open func ice_print() -> String {
return ""
}
}
Mapping for Local Exception Inheritance in Swift
A local Slice exception can extend another Slice exception, which is mapped to class inheritance in Swift. For example:
Slice
module M
{
local exception ErrorBase {}
local exception ResourceError extends ErrorBase {}
}
is mapped to:
Swift
open class ErrorBase: Ice.LocalException {
// ...
}
open class ResourceError: ErrorBase {
// ...
}