2011-11-04 1 views
6

Chciałem uzyskać dogłębne zrozumienie, w jaki sposób języki programowania implementują obsługę wyjątków i jak dokładnie działają wewnątrz maski. Próbowałem to sformułować w wielu podpunktach, jak poniżej.W jaki sposób obsługa wyjątków jest realizowana przez języki programowania?

  1. Jaki jest mechanizm stosowany przez języki programowania wdrożyć spróbować {} catch {} bloki (pod wyciągiem)?
  2. Jak dokładnie działa rozwijanie stosu w środku?
  3. Jakie są kluczowe różnice między implementacjami try {}/catch {} między różnymi językami, takimi jak C++ i Java? Czy oferta różni się znacząco czy jest taka sama?
  4. Czy metoda zwijania stosu w trybie C w trybie setjump/longjump jest podobna do metody try/throw/catch block?
  5. Dlaczego ludzie mówią, że "rozwijanie stosu" jest kosztowne? (? Structured Exception obchodzenia)
  6. Czym dokładnie jest SEH
+0

To dużo pytań - w tym kilku dość szerokich nich - na raz. Rozsądnie byłoby rozdzielić je i przedstawić to, co już zebrałeś (zrobiłeś swoje własne badania, prawda?). – delnan

Odpowiedz