diff --git a/include/inja/inja.hpp b/include/inja/inja.hpp
index 86b8a0a..92b6345 100644
--- a/include/inja/inja.hpp
+++ b/include/inja/inja.hpp
@@ -10,6 +10,9 @@
 #else
     #include <cstdlib>
     #define INJA_THROW(exception) std::abort()
+    #ifndef INJA_NOEXCEPTION
+      #define INJA_NOEXCEPTION
+    #endif
 #endif
 
 #include "environment.hpp"
diff --git a/include/inja/utils.hpp b/include/inja/utils.hpp
index fb1736c..836425d 100644
--- a/include/inja/utils.hpp
+++ b/include/inja/utils.hpp
@@ -15,11 +15,15 @@
 
 inline void open_file_or_throw(const std::string &path, std::ifstream &file) {
   file.exceptions(std::ifstream::failbit | std::ifstream::badbit);
+#ifndef INJA_NOEXCEPTION
   try {
     file.open(path);
   } catch (const std::ios_base::failure & /*e*/) {
     INJA_THROW(FileError("failed accessing file at '" + path + "'"));
   }
+#else
+  file.open(path);
+#endif
 }
 
 namespace string_view {
diff --git a/single_include/inja/inja.hpp b/single_include/inja/inja.hpp
index cdca7e1..a69457b 100644
--- a/single_include/inja/inja.hpp
+++ b/single_include/inja/inja.hpp
@@ -10,6 +10,9 @@
 #else
     #include <cstdlib>
     #define INJA_THROW(exception) std::abort()
+    #ifndef INJA_NOEXCEPTION
+      #define INJA_NOEXCEPTION
+    #endif
 #endif
 
 // #include "environment.hpp"
@@ -1842,11 +1845,15 @@
 
 inline void open_file_or_throw(const std::string &path, std::ifstream &file) {
   file.exceptions(std::ifstream::failbit | std::ifstream::badbit);
+#ifndef INJA_NOEXCEPTION
   try {
     file.open(path);
   } catch (const std::ios_base::failure & /*e*/) {
     INJA_THROW(FileError("failed accessing file at '" + path + "'"));
   }
+#else
+  file.open(path);
+#endif
 }
 
 namespace string_view {
