Ausnahmebehandlung in C - Was ist die Verwendung von setjmp (), das 0 zurückgibt?

Ich habe ein paar Fragen zur Verwendung von setjmp / longjmp -

Was ist die Verwendung von setjmp (jmp ___ buf stackVariables), das 0 zurückgibt? Dies ist eine Standardeinstellung, auf die wir keinen Einfluss haben.

Ist die einzige Bedeutung von setjmp (stackVariables), den Stack in stackVariables zu verschieben. Und im Grunde sagt uns 0, ob der Stack erfolgreich auf stack_variables gepusht wurde.

Dies ist eine Gelegenheit, wenn der Wert ungleich Null ist (ein beliebiger Wert ungleich Null), wenn Sie von einem longjmp zurückkehren. Was kommt von einem lomgjmp zurück, wann kommen Sie von longjmp zurück, wenn Ihre Ausnahme behandelt wird? Das Setup ist wirklich verwirrend.

Können einige bitte darauf verweisen, es zu versuchen / zu werfen und zu fangen. Und wäre wirklich toll, wenn ein paar gute Beispiele für setjmp / longjmp zur Verfügung gestellt werden könnten.

Ist longJmp wie throw und wird direkt nach der Stelle aufgerufen, an der die Ausnahme ausgelöst werden kann.

Vielen Dank.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage