diff --git a/growbros-frontend/src/jwt/Cookies.ts b/growbros-frontend/src/jwt/Cookies.ts
index fbc57dc5ae2fa7ea09fff72a0c2a941842692486..739d231299b69436378161a7c98d7f822c9f6059 100644
--- a/growbros-frontend/src/jwt/Cookies.ts
+++ b/growbros-frontend/src/jwt/Cookies.ts
@@ -1,9 +1,9 @@
 import {useLocation} from "react-router-dom";
 import {SetStateAction, useEffect} from "react";
 
-export function setCookie(name: string, value: any, expirationDate: Date) {
-    let expires = "expires=" + expirationDate;
-    document.cookie = `${name}=${value}; ${expires}`
+export function setCookie(name: string, value: any, expirationDate: Date, path: string) {
+    let expires = expirationDate.toUTCString();
+    document.cookie = `${name}=${value};expires=${expires};path=${path};`
 }
 
 export function getCookie(name: string | any[]) {
diff --git a/growbros-frontend/src/pages/Login.tsx b/growbros-frontend/src/pages/Login.tsx
index 7a158f613b3d7a0f7bd3fd81b80cbaa172538680..e3a791062b43b9635b7d86035c7473fbf3132c4d 100644
--- a/growbros-frontend/src/pages/Login.tsx
+++ b/growbros-frontend/src/pages/Login.tsx
@@ -16,6 +16,7 @@ function Login() {
         await handleLogin();
     };
     const handleLogin = async () => {
+        try {
             const res = await fetch("http://localhost:8080/api/v1/auth/authenticate",{
                 method:"POST",
                 body:JSON.stringify({email:email,password:password}),
@@ -23,33 +24,32 @@ function Login() {
                     "Content-Type": "application/json",
                 },
             });
-            if (res.ok) { //delete old cookie and set new one with new expiration date
+            console.log(res)
+            if (res.status === 200) { //delete old cookie and set new one with new expiration date
                 const { token } = await res.json();
-                console.log(token);
                 deleteJwtCookie();
                 const decodedToken = jwtDecode(token);
-                console.log(decodedToken);
                 // @ts-ignore
                 const expirationDate = new Date(decodedToken.exp * 1000); //*1000 Anzahl der Sekunden seit 1.1.1970 darstellt - JS arbeitet jedoch normalerweise mit Millisekunden
-                setCookie("Jwt",token, expirationDate);
-                document.cookie = `Jwt=${token};expires=${new Date(expirationDate).toUTCString()};path=/;`;
+                setCookie("Jwt",token, expirationDate,"/");
 
                 navigate('/');
 
             } else {
-                const errorBody = await res.json();
-                if (res.status === 400 && errorBody.error === 'InvalidEmailException') {
-                    window.alert("Fehler bei der Anmeldung: Ungültige E-Mail-Adresse.");
-                    console.error('Fehler bei der Anmeldung: Ungültige E-Mail-Adresse.');
-                } else {
-                    window.alert(`Fehler bei der Anmeldung: ${res.status} - ${res.statusText}`);
-                    console.error('Fehler bei der Anmeldung:', res.status, res.statusText);
+                // @ts-ignore
+                const reader = res.body.getReader();
+                const { value, done } = await reader.read();
+                if (!done) {
+                    const text = new TextDecoder().decode(value);
+                    window.alert(text)
+                    console.error(text);
                 }
-
-                navigate('/login');
-
             }
-    };
+
+        } catch (e: any) {
+            console.log(e.status);
+        }
+    }
 
     return (
         <main>
diff --git a/growbros-frontend/src/pages/Register.tsx b/growbros-frontend/src/pages/Register.tsx
index 01d55084e0ef11a59babc9778838493c43a71eed..e42542baef9ad6a6fec4b5daec80299276ace170 100644
--- a/growbros-frontend/src/pages/Register.tsx
+++ b/growbros-frontend/src/pages/Register.tsx
@@ -73,10 +73,11 @@ function Register() {
                 const {token} = await res.json();
                 console.log("Jwt Token not decoded" + token);
                 const decodedToken = jwtDecode(token);
+                console.log("Jwt decoded " + decodedToken);
                 // @ts-ignore
                 const expirationDate = new Date(decodedToken.exp * 1000); //*1000 Anzahl der Sekunden seit 1.1.1970 darstellt - JS arbeitet jedoch normalerweise mit Millisekunden
-                setCookie("Jwt", token, expirationDate);
-                console.log("Jwt decoded " + decodedToken);
+                setCookie("Jwt", token, expirationDate,"/");
+
                 navigate('/');
             } else {
                 // @ts-ignore
diff --git a/src/main/java/hdm/mi/growbros/auth/AuthenticationService.java b/src/main/java/hdm/mi/growbros/auth/AuthenticationService.java
index 1762e32a51a94ce1f028ee9a385c9fd04c85a51c..8aef84e0aaeceb9062505249061f671cfc0576d0 100644
--- a/src/main/java/hdm/mi/growbros/auth/AuthenticationService.java
+++ b/src/main/java/hdm/mi/growbros/auth/AuthenticationService.java
@@ -1,8 +1,6 @@
 package hdm.mi.growbros.auth;
 
-import hdm.mi.growbros.exceptions.EmailAlreadyExistsException;
-import hdm.mi.growbros.exceptions.InvalidDataException;
-import hdm.mi.growbros.exceptions.InvalidEmailException;
+import hdm.mi.growbros.exceptions.*;
 import hdm.mi.growbros.models.user.Role;
 import hdm.mi.growbros.models.user.User;
 import hdm.mi.growbros.repositories.UserRepository;
@@ -11,10 +9,13 @@ import lombok.RequiredArgsConstructor;
 import org.springframework.dao.DataIntegrityViolationException;
 import org.springframework.http.HttpStatus;
 import org.springframework.security.authentication.AuthenticationManager;
+import org.springframework.security.authentication.BadCredentialsException;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 import org.springframework.security.core.userdetails.UserDetailsService;
 import org.springframework.security.crypto.password.PasswordEncoder;
 import org.springframework.stereotype.Service;
+
+import java.util.NoSuchElementException;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -35,15 +36,15 @@ public class AuthenticationService {
     public AuthenticationResponse register(RegisterRequest request) {
 
         if (!isValidEmail(request.getEmail())) {
-            throw new InvalidEmailException(HttpStatus.BAD_REQUEST, "Ungültige E-Mail-Adresse. Backend");
+            throw new InvalidEmailException("Ungültige E-Mail-Adresse.");
         }
 
         if (request.getFirstname().isEmpty()) {
-            throw new InvalidDataException(HttpStatus.BAD_REQUEST, "Vorname fehlt. Backend");
+            throw new InvalidDataException("Vorname fehlt.");
         }
 
         if (request.getLastname().isEmpty()) {
-            throw new InvalidDataException(HttpStatus.BAD_REQUEST, "Nachname fehlt. Backend");
+            throw new InvalidDataException("Nachname fehlt.");
         }
         try {
             var user = User.builder()
@@ -64,24 +65,27 @@ public class AuthenticationService {
     }
 
     public AuthenticationResponse authenticate(AuthenticationRequest request) {
-        authenticationManager.authenticate(
-                new UsernamePasswordAuthenticationToken(
-                        request.getEmail(),
-                        request.getPassword()
-                )
-        );
-        var user = repository.findByEmail(request.getEmail()) //wenn der Nutzername und Passwort korrekt sind wird ein Token generiert
-                .orElseThrow(); // = Methode von Optional -> wird auf das Optionale angewendet, das durch repository.findByEmail zurückgegeben wird
-        // Wenn Benutzer gefunden ->  das Optional mit dem Benutzer-Objekt gefüllt. Andernfalls wird eine NoSuchElementException ausgelöst.
-        var jwtToken = jwtService.generateToken(user);
-        return AuthenticationResponse.builder()
-                .token(jwtToken)
-                .build();
+        try {
+            authenticationManager.authenticate(
+                    new UsernamePasswordAuthenticationToken(
+                            request.getEmail(),
+                            request.getPassword()
+                    )
+            );
+            var user = repository.findByEmail(request.getEmail()) //wenn der Nutzername und Passwort korrekt sind wird ein Token generiert
+                    .orElseThrow(); // = Methode von Optional -> wird auf das Optionale angewendet, das durch repository.findByEmail zurückgegeben wird
+            // Wenn Benutzer gefunden ->  das Optional mit dem Benutzer-Objekt gefüllt. Andernfalls wird eine NoSuchElementException ausgelöst.
+            var jwtToken = jwtService.generateToken(user);
+            return AuthenticationResponse.builder()
+                    .token(jwtToken)
+                    .build();
+        } catch (NoSuchElementException e) {
+            throw new UserNotFoundException("Benutzer mit Email:" + request.getEmail() + " nicht gefunden.");
+        } catch (BadCredentialsException e) {
+            throw new UserNotFoundException("Anmeldedaten sind nicht korrekt.");
+        }
     }
 
-
-
-
     private boolean isValidEmail(String email) {
         String emailRegex = "^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Z|a-z]{2,}$";
         Pattern pattern = Pattern.compile(emailRegex);
diff --git a/src/main/java/hdm/mi/growbros/exceptions/EmailAlreadyExistsException.java b/src/main/java/hdm/mi/growbros/exceptions/EmailAlreadyExistsException.java
index 1e2330a4088326577ceb366b1f3e6ce2ce020bd2..800fc13cb0d6bd37235e348481ef21b4caeff278 100644
--- a/src/main/java/hdm/mi/growbros/exceptions/EmailAlreadyExistsException.java
+++ b/src/main/java/hdm/mi/growbros/exceptions/EmailAlreadyExistsException.java
@@ -4,6 +4,6 @@ import org.springframework.http.HttpStatus;
 
 public class EmailAlreadyExistsException extends GrowBrosException{
     public EmailAlreadyExistsException(HttpStatus httpStatus, String message) {
-        super(httpStatus, message);
+        super(HttpStatus.BAD_REQUEST, message);
     }
 }
diff --git a/src/main/java/hdm/mi/growbros/exceptions/InvalidDataException.java b/src/main/java/hdm/mi/growbros/exceptions/InvalidDataException.java
index d45b903438e3bbf9239a40d9efa6a5e3cc72b0b1..fb4ce8c6bca8afcf06e8ab0ce744f409eb010335 100644
--- a/src/main/java/hdm/mi/growbros/exceptions/InvalidDataException.java
+++ b/src/main/java/hdm/mi/growbros/exceptions/InvalidDataException.java
@@ -3,8 +3,8 @@ package hdm.mi.growbros.exceptions;
 import org.springframework.http.HttpStatus;
 
 public class InvalidDataException extends GrowBrosException{
-    public InvalidDataException(HttpStatus httpStatus, String message) {
-        super(httpStatus, message);
+    public InvalidDataException(String message) {
+        super(HttpStatus.BAD_REQUEST, message);
     }
 }
 
diff --git a/src/main/java/hdm/mi/growbros/exceptions/InvalidEmailException.java b/src/main/java/hdm/mi/growbros/exceptions/InvalidEmailException.java
index 65e484bff184a4e11aec61ffc51844be8f3ce1e8..ce8b48cbaab27dc2c872c1f2c6c89354e0a2c67e 100644
--- a/src/main/java/hdm/mi/growbros/exceptions/InvalidEmailException.java
+++ b/src/main/java/hdm/mi/growbros/exceptions/InvalidEmailException.java
@@ -3,7 +3,7 @@ package hdm.mi.growbros.exceptions;
 import org.springframework.http.HttpStatus;
 
 public class InvalidEmailException extends GrowBrosException{
-    public InvalidEmailException(HttpStatus httpStatus,String message) {
-        super(httpStatus, message);
+    public InvalidEmailException(String message) {
+        super(HttpStatus.BAD_REQUEST, message);
     }
 }
diff --git a/src/main/java/hdm/mi/growbros/exceptions/UserNotFoundException.java b/src/main/java/hdm/mi/growbros/exceptions/UserNotFoundException.java
new file mode 100644
index 0000000000000000000000000000000000000000..27c6b7ddee43109e7282d71a3e0803604da0edc9
--- /dev/null
+++ b/src/main/java/hdm/mi/growbros/exceptions/UserNotFoundException.java
@@ -0,0 +1,9 @@
+package hdm.mi.growbros.exceptions;
+
+import org.springframework.http.HttpStatus;
+
+public class UserNotFoundException extends GrowBrosException{
+    public UserNotFoundException (String message) {
+        super(HttpStatus.BAD_REQUEST,message);
+    }
+}