diff --git a/app/src/main/java/com/example/bondoman/data/viewmodels/login/LoginViewModel.kt b/app/src/main/java/com/example/bondoman/data/viewmodels/login/LoginViewModel.kt
index c79aeeb6fb4dbd3f0012bbef1767f2e660f576f0..565e4579d70221c86afbaf1841c31087ca3ed8c1 100644
--- a/app/src/main/java/com/example/bondoman/data/viewmodels/login/LoginViewModel.kt
+++ b/app/src/main/java/com/example/bondoman/data/viewmodels/login/LoginViewModel.kt
@@ -26,13 +26,15 @@ class LoginViewModel : ViewModel() {
 	) {
 		viewModelScope.launch {
 			try {
-				val repository = UserRepository(RetrofitClient.getInstance().create(UserService::class.java))
+				val repository =
+					UserRepository(RetrofitClient.getInstance().create(UserService::class.java))
 				val loginResponse = repository.login(email, password)
 
 				if (loginResponse.isSuccessful) {
 					_loginResponse.value = loginResponse.body()
 				} else {
-					_loginResponse.value = LoginResponse(null, loginResponse.errorBody()?.string() ?: "Unknown error")
+					_loginResponse.value =
+						LoginResponse(null, loginResponse.errorBody()?.string() ?: "Unknown error")
 				}
 			} catch (e: Exception) {
 				_loginResponse.value = LoginResponse(null, "Something went wrong")
@@ -43,13 +45,20 @@ class LoginViewModel : ViewModel() {
 	fun checkToken(bearerToken: String) {
 		viewModelScope.launch {
 			try {
-				val repository = UserRepository(RetrofitClient.getInstanceWithAuth(bearerToken).create(UserService::class.java))
+				val repository = UserRepository(
+					RetrofitClient.getInstanceWithAuth(bearerToken).create(UserService::class.java)
+				)
 				val tokenResponse = repository.checkToken()
 
 				if (tokenResponse.isSuccessful) {
 					_tokenResponse.value = tokenResponse.body()
 				} else {
-					_tokenResponse.value = TokenResponse("", 0, 0, tokenResponse.errorBody()?.string() ?: "Unknown error")
+					_tokenResponse.value = TokenResponse(
+						"",
+						0,
+						0,
+						tokenResponse.errorBody()?.string() ?: "Unknown error"
+					)
 				}
 			} catch (e: Exception) {
 				_tokenResponse.value = TokenResponse("", 0, 0, e.message ?: "Unknown error")
diff --git a/app/src/main/java/com/example/bondoman/data/viewmodels/scanReceipt/ScanReceiptViewModel.kt b/app/src/main/java/com/example/bondoman/data/viewmodels/scanReceipt/ScanReceiptViewModel.kt
index 62521d6193982288150494c51e65346179c89f80..4095645bc19bd4c3498249018ac455a848b23ef6 100644
--- a/app/src/main/java/com/example/bondoman/data/viewmodels/scanReceipt/ScanReceiptViewModel.kt
+++ b/app/src/main/java/com/example/bondoman/data/viewmodels/scanReceipt/ScanReceiptViewModel.kt
@@ -12,6 +12,7 @@ import okhttp3.MediaType
 import okhttp3.MultipartBody
 import okhttp3.RequestBody
 import java.io.File
+import java.net.UnknownHostException
 
 class ScanReceiptViewModel : ViewModel() {
 	private val _scanReceiptResponse = MutableLiveData<ScanReceiptResponseItemsWrapper>()
@@ -22,31 +23,43 @@ class ScanReceiptViewModel : ViewModel() {
 		bearerToken: String,
 	) {
 		viewModelScope.launch {
-			val repository =
-				ScanReceiptRepository(
-					RetrofitClient.getInstanceWithAuth(bearerToken)
-						.create(ScanReceiptService::class.java),
-				)
-			val formData =
-				MultipartBody.Part.createFormData(
-					"file",
-					scanReceiptImageFile.name,
-					RequestBody.create(MediaType.parse("image/*"), scanReceiptImageFile),
-				)
-			val scanReceiptResponse = repository.scanReceipt(formData)
+			try {
+				val repository =
+					ScanReceiptRepository(
+						RetrofitClient.getInstanceWithAuth(bearerToken)
+							.create(ScanReceiptService::class.java),
+					)
+				val formData =
+					MultipartBody.Part.createFormData(
+						"file",
+						scanReceiptImageFile.name,
+						RequestBody.create(MediaType.parse("image/*"), scanReceiptImageFile),
+					)
+				val scanReceiptResponse = repository.scanReceipt(formData)
 
-			if (scanReceiptResponse.isSuccessful) {
-				_scanReceiptResponse.value = scanReceiptResponse.body()
-			} else {
-				val error =
-					when (scanReceiptResponse.code()) {
-						401 -> "Upload receipt failed. Unauthorized"
-						413 -> "Upload receipt failed. File too large"
-						else -> "Upload receipt failed. Unknown Error"
-					}
+				if (scanReceiptResponse.isSuccessful) {
+					_scanReceiptResponse.value = scanReceiptResponse.body()
+				} else {
+					val error =
+						when (scanReceiptResponse.code()) {
+							401 -> "Upload receipt failed. Unauthorized."
+							413 -> "Upload receipt failed. File too large."
+							else -> "Upload receipt failed. Unknown Error."
+						}
+					_scanReceiptResponse.value =
+						ScanReceiptResponseItemsWrapper(null, error)
+				}
+			} catch (e: UnknownHostException) {
 				_scanReceiptResponse.value =
-					ScanReceiptResponseItemsWrapper(null, error)
+					ScanReceiptResponseItemsWrapper(
+						null,
+						"You're offline. Please check your internet."
+					)
+			} catch (e: Exception) {
+				_scanReceiptResponse.value =
+					ScanReceiptResponseItemsWrapper(null, "Something went wrong. Please try again.")
 			}
+
 		}
 	}
 }