mirror of
https://github.com/SideStore/SideStore.git
synced 2026-02-18 19:23:43 +01:00
chore(Clear Cache): do proper error handling
This commit is contained in:
committed by
nythepegasus
parent
c81236957b
commit
5f0015fad0
@@ -79,8 +79,9 @@ class ClearAppCacheOperation: ResultOperation<Void>
|
||||
}
|
||||
else
|
||||
{
|
||||
//let error = BatchError(errors: allErrors)
|
||||
//self.finish(.failure(error))
|
||||
self.finish(.failure(OperationError.cacheClearError(errors: allErrors.map({ error in
|
||||
return error.localizedDescription
|
||||
}))))
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -121,8 +122,9 @@ private extension ClearAppCacheOperation
|
||||
|
||||
if !errors.isEmpty
|
||||
{
|
||||
//let error = BatchError(errors: errors)
|
||||
//completion(.failure(error))
|
||||
completion(.failure(OperationError.cacheClearError(errors: errors.map({ error in
|
||||
return error.localizedDescription
|
||||
}))))
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -163,6 +165,7 @@ private extension ClearAppCacheOperation
|
||||
options: [.skipsSubdirectoryDescendants, .skipsHiddenFiles])
|
||||
var errors = [Error]()
|
||||
|
||||
|
||||
for backupDirectory in fileURLs
|
||||
{
|
||||
do
|
||||
@@ -185,8 +188,9 @@ private extension ClearAppCacheOperation
|
||||
|
||||
if !errors.isEmpty
|
||||
{
|
||||
//let error = BatchError(errors: errors)
|
||||
//completion(.failure(error))
|
||||
completion(.failure(OperationError.cacheClearError(errors: errors.map({ error in
|
||||
return error.localizedDescription
|
||||
}))))
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -40,6 +40,8 @@ enum OperationError: LocalizedError
|
||||
case provisioningError(result: String, message: String?)
|
||||
case anisetteV3Error(message: String)
|
||||
|
||||
case cacheClearError(errors: [String])
|
||||
|
||||
var failureReason: String? {
|
||||
switch self {
|
||||
case .unknown: return NSLocalizedString("An unknown error occured.", comment: "")
|
||||
@@ -60,6 +62,7 @@ enum OperationError: LocalizedError
|
||||
case .anisetteV1Error(let message): return String(format: NSLocalizedString("An error occurred when getting anisette data from a V1 server: %@. Try using another anisette server.", comment: ""), message)
|
||||
case .provisioningError(let result, let message): return String(format: NSLocalizedString("An error occurred when provisioning: %@%@. Please try again. If the issue persists, report it on GitHub Issues!", comment: ""), result, message != nil ? (" (" + message! + ")") : "")
|
||||
case .anisetteV3Error(let message): return String(format: NSLocalizedString("An error occurred when getting anisette data from a V3 server: %@. Please try again. If the issue persists, report it on GitHub Issues!", comment: ""), message)
|
||||
case .cacheClearError(let errors): return String(format: NSLocalizedString("An error occurred while clearing cache: %@", comment: ""), errors.joined(separator: "\n"))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user