Defining an exception type

Error handling

//struct error type
struct StructError: Error {
    var message: String
}

//class error type
@MainActor
class ClassError: Error {
    var message: String

    init(message: String) {
        self.message = message
    }
}

//enum error type
enum EnumError: Error {
    case accessDenied, fileNotFound
}

throw StructError(message: "Struct error")

throw ClassError(message: "Class error")

throw EnumError.accessDenied