diff --git a/include/sysemu/qtest.h b/include/sysemu/qtest.h
index 6aca8e4..28f4875 100644
--- a/include/sysemu/qtest.h
+++ b/include/sysemu/qtest.h
@@ -15,6 +15,7 @@
 #define QTEST_H
 
 #include "qemu-common.h"
+#include "qapi/error.h"
 
 extern bool qtest_allowed;
 
@@ -26,7 +27,7 @@
 bool qtest_driver(void);
 
 int qtest_init_accel(void);
-void qtest_init(const char *qtest_chrdev, const char *qtest_log);
+void qtest_init(const char *qtest_chrdev, const char *qtest_log, Error **errp);
 
 static inline int qtest_available(void)
 {
diff --git a/qtest.c b/qtest.c
index a738afc..ae941d6 100644
--- a/qtest.c
+++ b/qtest.c
@@ -507,12 +507,18 @@
     return 0;
 }
 
-void qtest_init(const char *qtest_chrdev, const char *qtest_log)
+void qtest_init(const char *qtest_chrdev, const char *qtest_log, Error **errp)
 {
     CharDriverState *chr;
 
     chr = qemu_chr_new("qtest", qtest_chrdev, NULL);
 
+    if (chr == NULL) {
+        error_setg(errp, "Failed to initialize device for qtest: \"%s\"",
+                   qtest_chrdev);
+        return;
+    }
+
     qemu_chr_add_handlers(chr, qtest_can_read, qtest_read, qtest_event, chr);
     qemu_chr_fe_set_echo(chr, true);
 
diff --git a/vl.c b/vl.c
index a7b00cd..0f7d31f 100644
--- a/vl.c
+++ b/vl.c
@@ -4078,7 +4078,13 @@
     configure_accelerator();
 
     if (qtest_chrdev) {
-        qtest_init(qtest_chrdev, qtest_log);
+        Error *local_err = NULL;
+        qtest_init(qtest_chrdev, qtest_log, &local_err);
+        if (local_err) {
+            error_report("%s", error_get_pretty(local_err));
+            error_free(local_err);
+            exit(1);
+        }
     }
 
     machine_opts = qemu_get_machine_opts();
