This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | Next revisionBoth sides next revision | ||
dev:logging [2015/04/18 08:55] – [Logging] ursgraf | dev:logging [2015/04/20 17:19] – [Error Reporting] ursgraf | ||
---|---|---|---|
Line 14: | Line 14: | ||
===== Error Reporting ===== | ===== Error Reporting ===== | ||
- | Für die Fehler-Ausgabe sollte die Klasse ErrorReporter im Package //ch.ntb.inf.deep.host// verwendet werden. Bei jeder Ausgabe eines Fehlers wird die statische Variable | + | The class '' |
- | Der ErrorReporter | + | The '' |
- | Die Methoden | + | Further, there is a method //error(String |
- | + | ||
- | Im Weitern gibt es noch die Methode | + | |
- | muss. | + | |
==== Stopping after Error ==== | ==== Stopping after Error ==== | ||
- | Der Launcher prüft vor jedem weiteren Schritt, ob kein Fehler aufgetreten ist. Was aber passiert, wenn innerhalb eines Schrittes | + | The launcher checks if no error occured before starting the next step. However, what happens if there is an error within a step (e.g. while allocating registers) and it's not possible to complete this step? We do not want to check for // |
- | Alle Methoden sollen so geschrieben werden, dass im Fehlerfall der ErrorReporter aufgerufen wird, aber die Methode trotzdem einen brauchbaren Rückgabewert liefert | + | Every method should call the error reporter in case of an error and at the same time it should return a useable value (e.g. register |
- | Es macht trotzdem Sinn daneben auch Assertions einzubauen. Diese sind dann nützlich, wenn wir als Entwickler den Fehler genau zu lokalisieren versuchen. | + | Use assertions whenever possible. They will be switched of in the productive code but can be enabled during the development process. |
\\ | \\ | ||
---- | ---- |