1 // Copyright 2023-present 650 Industries. All rights reserved. 2 3 import ExpoModulesCore 4 5 final class FileNotExistsException: GenericException<String> { 6 override var reason: String { 7 "File '\(param)' does not exist" 8 } 9 } 10 11 final class DirectoryNotExistsException: GenericException<String> { 12 override var reason: String { 13 "Directory '\(param)' does not exist" 14 } 15 } 16 17 final class FileNotReadableException: GenericException<String> { 18 override var reason: String { 19 "File '\(param)' is not readable" 20 } 21 } 22 23 final class FileNotWritableException: GenericException<String> { 24 override var reason: String { 25 "File '\(param)' is not writable" 26 } 27 } 28 29 final class FileWriteFailedException: GenericException<String> { 30 override var reason: String { 31 "Writing to '\(param)' file has failed" 32 } 33 } 34 35 final class FileCannotDeleteException: GenericException<String> { 36 override var reason: String { 37 "File '\(param)' could not be deleted" 38 } 39 } 40 41 final class InvalidFileUrlException: GenericException<URL> { 42 override var reason: String { 43 "'\(param.absoluteString)' is not a file URL" 44 } 45 } 46 47 final class UnsupportedSchemeException: GenericException<String?> { 48 override var reason: String { 49 "Unsupported URI scheme: '\(String(describing: param))'" 50 } 51 } 52 53 final class HeaderEncodingFailedException: GenericException<String> { 54 override var reason: String { 55 "Unable to encode headers for request '\(param)' to UTF8" 56 } 57 } 58 59 final class DownloadTaskNotFoundException: GenericException<String> { 60 override var reason: String { 61 "Cannot find a download task with id: '\(param)'" 62 } 63 } 64 65 final class CannotDetermineDiskCapacity: Exception { 66 override var reason: String { 67 "Unable to determine free disk storage capacity" 68 } 69 } 70