PL SQL Oracle PLSQL

SQL> <>
  2  DECLARE
  3     visibleValue VARCHAR2(30);
  4     hiddenValue VARCHAR2(30);
  5  BEGIN
  6     visibleValue := 'visibleValue';
  7     hiddenValue := 'hiddenValue';
  8
  9     DBMS_OUTPUT.PUT_LINE('OUTER BLOCK');
 10     DBMS_OUTPUT.PUT_LINE(visibleValue);
 11     DBMS_OUTPUT.PUT_LINE(hiddenValue);
 12
 13     DECLARE
 14        hiddenValue NUMBER(10);
 15     BEGIN
 16        DBMS_OUTPUT.PUT_LINE('INNER BLOCK');
 17        l_outer_block.hiddenValue := 'inner hiddenValue';
 18        DBMS_OUTPUT.PUT_LINE(l_outer_block.hiddenValue);
 19     EXCEPTION
 20        WHEN OTHERS
 21        THEN
 22           DBMS_OUTPUT.PUT_LINE('hiddenValue of type VARCHAR2 was...hidden');
 23     END;
 24  END;
 25  /
OUTER BLOCK
visibleValue
hiddenValue
INNER BLOCK
inner hiddenValue
PL/SQL procedure successfully completed.
SQL>