Warum können wir nicht auf lokale Variable in der Rettung zugreifen?

8

Lokale Variable

%Vor%

Instanzvariable

%Vor%     
krunal shah 29.10.2010, 18:07
quelle

1 Antwort

27

Sie können sicher auf lokale Variablen zugreifen, die in einem begin im entsprechenden rescue -Block definiert sind (vorausgesetzt, die Ausnahme wurde ausgelöst, nachdem die Variable gesetzt wurde).

Sie können nicht auf lokale Variablen zugreifen, die innerhalb eines Blocks außerhalb des Blocks definiert sind. Das hat nichts mit Ausnahmen zu tun. Siehe dieses einfache Beispiel:

%Vor%

Was Sie tun können, um dies zu beheben, ist, die Variable vor dem Block zu definieren (Sie können sie einfach auf Null setzen) und dann im Block setzen.

%Vor%

Wenn Sie also Ihren Code so ändern, wird es funktionieren:

%Vor%     
sepp2k 29.10.2010, 18:12
quelle

Tags und Links