Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed SerialHalfDuplex SDFileSystem DISCO-F469NI_portrait liaison_Bluetooth ident_crac
Diff: mbed/error.h
- Revision:
- 17:d1594579eec6
- Parent:
- 0:ad97421fb1fb
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed/error.h Fri May 19 17:14:07 2017 +0000
@@ -0,0 +1,60 @@
+/* mbed Microcontroller Library - error
+ * Copyright (c) 2006-2009 ARM Limited. All rights reserved.
+ */
+
+#ifndef MBED_ERROR_H
+#define MBED_ERROR_H
+
+/* Reporting Compile-Time Errors:
+ * To generate a fatal compile-time error, you can use the pre-processor #error directive.
+ *
+ * > #error "That shouldn't have happened!"
+ *
+ * If the compiler evaluates this line, it will report the error and stop the compile.
+ *
+ * For example, you could use this to check some user-defined compile-time variables:
+ *
+ * > #define NUM_PORTS 7
+ * > #if (NUM_PORTS > 4)
+ * > #error "NUM_PORTS must be less than 4"
+ * > #endif
+ *
+ * Reporting Run-Time Errors:
+ * To generate a fatal run-time error, you can use the mbed error() function.
+ *
+ * > error("That shouldn't have happened!");
+ *
+ * If the mbed running the program executes this function, it will print the
+ * message via the USB serial port, and then die with the blue lights of death!
+ *
+ * The message can use printf-style formatting, so you can report variables in the
+ * message too. For example, you could use this to check a run-time condition:
+ *
+ * > if(x >= 5) {
+ * > error("expected x to be less than 5, but got %d", x);
+ * > }
+ */
+
+#if 0 // for documentation only
+/* Function: error
+ * Report a fatal runtime error
+ *
+ * Outputs the specified error message to stderr so it will appear via the USB
+ * serial port, and then calls exit(1) to die with the blue lights of death.
+ *
+ * Variables:
+ * format - printf-style format string, followed by associated variables
+ */
+void error(const char* format, ...);
+#endif
+
+#include <stdlib.h>
+
+#ifdef NDEBUG
+ #define error(...) (exit(1))
+#else
+ #include <stdio.h>
+ #define error(...) (fprintf(stderr, __VA_ARGS__), exit(1))
+#endif
+
+#endif