TalkING. Foren-Übersicht
 TÜber TalkING.  TPR  TMitarbeit  TNutzerregeln  TImpressum
 TRSS Feed  TWeitere TalkING. Projekte  TLinks
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Praktikumsaufgabe 09/10
Gehe zu Seite Zurück  1, 2
 
Neues Thema eröffnen   Neue Antwort erstellen   Druckerfreundliche Ansicht    TalkING. Foren-Übersicht -> Informatik für Ingenieure 2
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
netrus
TalkING. Freak
TalkING. Freak


Anmeldedatum: 09.12.2008
Beiträge: 91
Studiengang: AIW

BeitragVerfasst am: So, 21. März. 10, 12:55    Titel: Antworten mit Zitat

Das Problem ist, wenn ich das richtig sehe, dass eine Exception "aus read() rausfliege" muss, und auf dieser Ebene eingefangen werden kann (ist das eigentlich in der Aufgabe spezifiziert?). Das war in deinem geposteten Code schon der Fall, nur aus meiner Sicht unnötig kompliziert (einfangen und wieder wegwerfen) und dadurch fehleranfällig. So wie du es gepostet hast, sollte es aus meiner Sicht auch gehen. Wenn der Compiler sich beschwert, aber der UnitTest läuft, fängst du in deinem Programm die Exception vielleicht auf der falschen Ebene auf? Überprüf mal, wo du in deinem Programm read() aufrufst, und ob du da die Exception fängst (das war zumindest bei mir das Problem).

Viel Erfolg!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
hayholy
TalkING. Newbie
TalkING. Newbie


Anmeldedatum: 26.07.2009
Beiträge: 23
Studiengang: AIW

BeitragVerfasst am: So, 21. März. 10, 13:29    Titel: Antworten mit Zitat

Also da der Compiler sich beschwert komme ich gar nicht zum Unittest. Read() wird aufgerufen und die Exception steht ja auch da drin. Hmh, dachte nur, dass vielleicht mein Code falsch ist...
In der Main() muss man keine Fehler abfangen, oder?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
yoshi252
TalkING. Newbie
TalkING. Newbie


Anmeldedatum: 19.03.2005
Beiträge: 29
Studiengang: IIW

BeitragVerfasst am: Mo, 22. März. 10, 03:47    Titel: Antworten mit Zitat

hayholy hat Folgendes geschrieben:
Ich habe es jetzt noch ein paar mal versucht umzustellen, aber ich bekomme immer wieder den gleichen Fehler beim Unittest oder einen Fehler beim Kompilieren.

Die Ausgabe
Code:
UnitTest.cpp:66: error: Failure in imageData: istnichtda: Unhandled exception: St9ex

sieht nicht nach einem Compilerfehler, sondern nach einem Laufzeitfehler vom Unittest aus.
Oder bekommst du noch einen Fehler vom Compiler dazu? Wenn ja, dann poste den auch mal hier!

Zu deinem code
Code:
try//START TRY
{
    File.exceptions(ios::failbit | ios::badbit);
   
    ifstream  testFile (dateiname.c_str());
    if (testFile.is_open())
    {
        cout << "ok... file found!" << endl;
    }
    else
    {
        cerr << "Error opening file!" << endl;
        throw XImageFile("Error");   //Hier kommt die Fehlermeldung des Compilers
    }

catch (XImageFile& ImageFileError)
{
    [...]
}


Diese ganzen try..catch Dinge brauchst du in der Datei nicht. Ersetz es einfach durch
Code:
File.exceptions(ios::failbit | ios::badbit);
   
ifstream  testFile (dateiname.c_str());
if (testFile.is_open())
{
    cout << "ok... file found!" << endl;
}
else
{
    cerr << "Error opening file!" << endl;
    throw XImageFile("Error");   //Hier kommt die Fehlermeldung des Compilers
}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
hayholy
TalkING. Newbie
TalkING. Newbie


Anmeldedatum: 26.07.2009
Beiträge: 23
Studiengang: AIW

BeitragVerfasst am: Mo, 22. März. 10, 10:02    Titel: Antworten mit Zitat

yoshi252 hat Folgendes geschrieben:
hayholy hat Folgendes geschrieben:
Ich habe es jetzt noch ein paar mal versucht umzustellen, aber ich bekomme immer wieder den gleichen Fehler beim Unittest oder einen Fehler beim Kompilieren.

Die Ausgabe
Code:
UnitTest.cpp:66: error: Failure in imageData: istnichtda: Unhandled exception: St9ex

sieht nicht nach einem Compilerfehler, sondern nach einem Laufzeitfehler vom Unittest aus.
Oder bekommst du noch einen Fehler vom Compiler dazu? Wenn ja, dann poste den auch mal hier!


Vielen Dank! Bisher habe ich einen Laufzeitfehler von Unittest bekommen (s.o.). Wenn ich jetzt deinen Code nutze,

Code:
throw XImageFile("Error");


dann bekomme ich einen Compilerfehler (war vorher auch schon da):

Fehlermeldung an der Stelle von throw XImageFile:
Unbehandelte Ausnahme bei 0x7748b727 in praktikum.exe: Microsoft C++-Ausnahme: XImageFile an Speicherposition 0x002ef704..


Wenn ich ihm die richtige Datei gebe (tuvision.pgm), dann funktioniert alles. Wenn ich ihm die falsche Datei gebe (z.B. tuvision1.pgm), dann gibt es Compilerfehler. Also wird der Fehler irgendwie nicht richtig abgefangen, oder? Hast du eine Idee was da noch falsch sein könnte. Trotz nun bestandenem Unittest wäre es ja ganz schön, wenn ich den Compilerfehler noch wegbekommen würde.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
netrus
TalkING. Freak
TalkING. Freak


Anmeldedatum: 09.12.2008
Beiträge: 91
Studiengang: AIW

BeitragVerfasst am: Mo, 22. März. 10, 10:10    Titel: Antworten mit Zitat

Hast du denn ein try/catch Ding in deiner main(), bzw. beim Funktionsaufruf von read()?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
hayholy
TalkING. Newbie
TalkING. Newbie


Anmeldedatum: 26.07.2009
Beiträge: 23
Studiengang: AIW

BeitragVerfasst am: Mo, 22. März. 10, 10:28    Titel: Antworten mit Zitat

netrus hat Folgendes geschrieben:
Hast du denn ein try/catch Ding in deiner main(), bzw. beim Funktionsaufruf von read()?


jetzt habe ich einen try/catch-Bereich in der main() und es läuft!

Danke an euch zwei Smile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Lks
TalkING. Newbie
TalkING. Newbie


Anmeldedatum: 03.10.2009
Beiträge: 17

BeitragVerfasst am: Fr, 18. Jun. 10, 19:54    Titel: Antworten mit Zitat

Bei mir läuft alles so halbwegs, bis auf meine codierung der 100.

Meine 100 (wird ja in den unit tests überprüft) wird 1010110111 codiert und nicht 1010110101, wie es sein sollte. Jemand ne Idee woran das liegen kann? Den operator hab ich schon getestet. An dem wirds denk ich mal nicht liegen.

Grüße
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dori
TalkING. Newbie
TalkING. Newbie


Anmeldedatum: 23.01.2010
Beiträge: 7
Studiengang: AIW

BeitragVerfasst am: Sa, 19. Jun. 10, 12:22    Titel: Antworten mit Zitat

hallo,
könnte mir vielleicht jemand sagen, wie man
die höhe und die breite aus der bilddatei ausließt?
Habe das noch nicht ganz verstanden Confused
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Lks
TalkING. Newbie
TalkING. Newbie


Anmeldedatum: 03.10.2009
Beiträge: 17

BeitragVerfasst am: Sa, 19. Jun. 10, 12:24    Titel: Antworten mit Zitat

Du musst die bilddatei wie eine textdatei behandeln. Wenn du die einfach mal mit notepad o.ä. öffnest kannst du dir die ma anschaun. dann sollte das mehr oder weniger klar sein.

edit:

kann mir mal jemand seinen inhalt von m_knotQueue schicken (also zum überprüfen der richtigen reihnfolge).

also einfach mal
Code:

   fstream test;
   test.open("test.txt", ios::out);
   while(!m_knotQueue.empty())
   {
      test << m_knotQueue.top().m_num << ", " << (int)m_knotQueue.top().color << endl;
      m_knotQueue.pop();
   }
   test.close();


bis auf nen memoryleak läufts jetzt alles.

letztes edit : jetzt läuft alles
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen   Druckerfreundliche Ansicht    TalkING. Foren-Übersicht -> Informatik für Ingenieure 2 Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite Zurück  1, 2
Seite 2 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.



  Busreisen  

Powered by phpBB © 2001, 2005 phpBB Group - Deutsche Übersetzung von phpBB.de
TUHH implementation by talking networks © c4.media