[Python] metaclasses?

Pagina: 1
Acties:

  • DumbAss
  • Registratie: April 2002
  • Laatst online: 16-08-2025
Hee,

Ik heb een klasse gemaakt die samba shares kan mounten. Maar nu wil ik dat als er per ongeluk een exception o.i.d. optreedt, dat hij nog steeds de share unmount. Ik heb een functie gemaakt "umountShare" die dit doet. Ik heb al geprobeerd gebruik te maken van "__exit__()" maar dat bestaat blijkbaar niet :).

Is het mogelijk dat die functie ten alle tijden wordt uitgevoerd als het programma wordt gestopt?

Vanutsteen.nl => nerds only | iRacing


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 21:33
Het beste is natuurlijk het opruimwerk in een exception handler doen (of een finally clause zetten). Het idee van exceptions is juist dat je ze afhandeld, in plaats van simpelweg je applicatie te laten crashen (wat het standaardgedrag is).

Als je per se iets wil doen bij het afsluiten van de applicatie, kun je eens naar de atexit module kijken, maar dan nog wordt je code niet in alle denkbare situaties aangeroepen (maar wel bij exceptions).

edit:
Wat heeft dit trouwens met metaclasses te maken :?

[ Voor 14% gewijzigd door Soultaker op 20-07-2006 17:03 ]


Verwijderd

Aangezien het een klasse is die zorgt voor het mounten, lijkt het me ook wel netjes om het opschonen in de __del__ methode te doen.

  • DumbAss
  • Registratie: April 2002
  • Laatst online: 16-08-2025
Verwijderd schreef op donderdag 20 juli 2006 @ 22:12:
Aangezien het een klasse is die zorgt voor het mounten, lijkt het me ook wel netjes om het opschonen in de __del__ methode te doen.
Haa, zoiets bedoelde ik! Thanks. Ik ga even wat meer informatie opzoeken over deze methode.

Ik was trouwens even mis: het had inderdaad niks met metaclasses te maken. Ik verwarde wat dingen die ik gelezen had. Bedankt in ieder geval.

Vanutsteen.nl => nerds only | iRacing