Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Exception bei Fehlzugriff

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
28.11.2006, 08:18 Uhr
derphilipder



Hi!

Was für eine Exception wird ausgelöst, wenn ich einen unbefugten Speicherzugriff mache?
--
Konfuzius says: "A man who goes to bed with an itchy asshole is a man who wakes up with stinky finger!"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
28.11.2006, 08:39 Uhr
Blubber2063



Gar keine das gibt nen Runtime Error, eine Exception wird nur da geschmissen, wo eine Klasse oder Funktion den Speicherzugriff wrappt, denn dann wird das vorher abgefragt und was geschmissen, ansonsten achte selbst drauf.
Dieser Post wurde am 28.11.2006 um 08:39 Uhr von Blubber2063 editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
28.11.2006, 09:05 Uhr
derphilipder




Zitat von Blubber2063:
...wo eine Klasse oder Funktion den Speicherzugriff wrappt...

Was bedeutet das?

Bei mir wird eine Exception ausgelöst, die halt vom Default-Handler aufgefangen wird. Und ich kenne den Typ nicht...wie krieg ich den raus.
--
Konfuzius says: "A man who goes to bed with an itchy asshole is a man who wakes up with stinky finger!"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
28.11.2006, 13:59 Uhr
Blubber2063



Naja eine Exception wird nur geschmissen, wenn du jetzt z.B. einen Container hast der sich um die Speicherverwaltung kümmert und das Ding existiert halt nicht, sowas wie der Array in Java der einen BoundCheck macht, wenn du durch so eine Klasse ne Exception kriegst, müsste die geworfene Exception als Throw an der Methode, Operator etc, im Header stehen. Bei einem normalen Zugriff auf Adressen dürfte eigentlich keine Exception geschmissen werden, sondern ein Runtime Error, es sei denn der passenden Signalhandler ist überschrieben(zumindest in Unix, kA wie das in Windows aussieht).
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
28.11.2006, 14:25 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


naja man kann "hardware exceptions" unter windows auch abfangen, linux über signalbehandlung auch. d.h da kriegste dann halt z.b SIGSEGV, und kannst dann ggf auch weiterarbeiten. Ob das natürlich sinn macht nach sowas weiterzumachen, ist mal dahingestellt.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: