diff --git a/zabbix_sender/sender.py b/zabbix_sender/sender.py
index 0a3b307f98ec11d1156662efffaccb589d0272d4..a3a18ce3a107b4cead23c8d2439f5c681c297bf1 100755
--- a/zabbix_sender/sender.py
+++ b/zabbix_sender/sender.py
@@ -2,9 +2,16 @@ import json
 import socket
 import struct
 
+from .exceptions import InvalidMetricsHostError, InvalidMetricsKeyError, InvalidMetricsValueError
 
 class ZabbixMetrics:
-    def __init__(self, host, key, value, clock=None, ns=None):
+    def __init__(self, host: str, key: str, value: str | int | float, clock=None, ns=None):
+        if not host:
+            raise InvalidMetricsHostError("")
+        if not key:
+            raise InvalidMetricsKeyError("")
+        if value is None:
+            raise InvalidMetricsValueError("")
         self.host = host
         self.key = key
         self.value = value
@@ -14,8 +21,7 @@ class ZabbixMetrics:
             self.ns = ns
 
     def __repr__(self):
-        result = json.dumps(self.__dict__, ensure_ascii=False)
-        return result
+        return json.dumps(self.__dict__, ensure_ascii=False)
 
 
 class ZabbixResponse: