2010-11-27 3 views
1

Gemeinsame Programme wie gcc, rm, cp usw. scheinen ein Muster in der Berichterstattung ihre Fehler wie diese zu folgen:Standard-Fehlerberichterstattung

Programm: error

Zum Beispiel:

$ gcc 
gcc: no input files 

Ist Gibt es eine Standardfunktion oder ein Makro, das ich in meinen eigenen C-Programmen aufrufen sollte, um Fehler in einer Standardform zu melden?

Antwort

2

Es gibt keine Makros (die ich kenne). Aber, hier ist die entsprechende standard für die Formatierung Fehlerausgabe.

2

Wenn Sie nicht wissen, perror und strerror (etc.), sind sie wissenswert. Sie sind keineswegs universell, können aber unter bestimmten Umständen hilfreich sein.

+0

Auch http://libexplain.sourceforge.net/ wenn Sie perror/stredror immer noch zu umständlich finden. – ephemient

2

Es stammt aus den frühesten Tagen der Unix-Programmierung. Es war immer eine Empfehlung, dass Fehlernachrichten der Name des Befehls vorangestellt wird, der sie generiert, nicht zuletzt, damit bei Fehlern in einer Befehlspipeline angegeben werden kann, welcher der verschiedenen Befehle die Fehlermeldung generiert hat. Sie können den Stil in K & R 1. Edition, in einigen der Beispielprogramme (nicht ganz alle), und auch in 'Software Tools' von Kernighan & Plauger, und in 'The UNIX Programming Environment' von Kernighan & Pike sehen.

Für solche Fehlermeldungen gibt es keine vollständigen Standardwerkzeuge - Funktionen oder Makros. (Ich habe eine umfangreiche und umfassende Reihe von Fehlerberichtsfunktionen, die den Programmnamen vor der Nachricht drucken.)