Thread View: de.comp.lang.c++
2 messages
2 total messages
Started by Matthias Baas
Wed, 03 Jan 1996 21:32
Fehlerursache von streams?
Author: Matthias Baas
Date: Wed, 03 Jan 1996 21:32
Date: Wed, 03 Jan 1996 21:32
32 lines
1268 bytes
1268 bytes
Hallo,
auch ich bin Anfaenger und hoffe, dass die Frage nicht zu trivial ist. Aber
wie kann man in C++ feststellen, WARUM eine Dateioperation fehlgeschlagen
ist, nachdem man weiss DASS sie fehlgeschlagen ist?
Der Dateizugriff soll ueber die ofstream/ifstream-Objekte gehen.
Ich habe also folgendes Programm:
#include <fstream.h>
int main()
{
ofstream out;
out.open("dateiname");
if (out.rdstate()!=ios::goodbit)
{
cout<<"Datei nicht geoeffnet!\n"; // aber warum nicht?
...
};
.
.
.
}
Wie kann ich nun die Ursache des Fehlers ermitteln?
Ich benutze uebrigens den GNU-Compiler V2.6, daher habe ich keine
ausfuehrlichen Handbuecher, die ich waelzen koennte.
Auf Antwort hoffend...
- Matthias -
Re: Fehlerursache von streams?
Author: Mario Paumann
Date: Thu, 04 Jan 1996 14:36
Date: Thu, 04 Jan 1996 14:36
38 lines
1781 bytes
1781 bytes
Hallo !
Das hat mich auch schon beschäftigt. Aber ich
hab auch keine Loesung gefunden. Es duerfte
nicht mal in ANSI definiert sein den Errorcode
zu ermitteln. Ich hab mir dann gedacht probier
mal die globale C-Variable errno aus die von
allen C-Dateifunktionen verwendet wird. Aber
bei meiner HP-UX Streamlib funktioniert das
auch nicht (aber probiert es doch mal bei den
anderen Compilern. Borland wuerde ich zutrauen,
dasz sie soweit gedacht haben).
Ich hab dann mal die ANSI Draft durchgeblaettert
(http://www.hab-weimar.de/~springer/
april-working-paper/class.html)
und hab dann (glaub ich) gefunden, dass bei
Fehler eine Exception abgefeuert wird (
Siehe Kapitel 27.4.3.1.1 Class ios_base::failure).
D.h. die neue Version von C++ Streamlib wird Exception-
handling verwenden. Mein HP-UX verwendet das
aber noch nicht.
Kann mir jemand sagen ob es schon eine neue
Version der Streamlib gibt ? Man hat ja
fast ein 3/4 Jahr Zeit gehabt diese zu im-
plementieren. Ist vielleicht schon GNU soweit ?
(Ich verwende GNU nicht drum frag ich :)
Weis sonst noch jemand weiter ?
In article <4cesli$elf@nz12.rz.uni-karlsruhe.de>,
un1t@rzstud2.rz.uni-karlsruhe.de (Matthias Baas) wrote:
> out.open("dateiname");
> if (out.rdstate()!=ios::goodbit)
> {
> cout<<"Datei nicht geoeffnet!\n"; // aber warum nicht?
> ...
> };
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads