You can display the error message in SQL*Plus using SQLERRM function:

SQL> exec dbms_output.put_line (sqlerrm(-100))
ORA-00100: no data found

PL/SQL procedure successfully completed.

SQL> exec dbms_output.put_line (sqlerrm(-1017))
ORA-01017: invalid username/password; logon denied

PL/SQL procedure successfully completed.

SQL> exec dbms_output.put_line (sqlerrm(1))
User-Defined Exception

PL/SQL procedure successfully completed.

The ORA error numbers are between -31000 and 1. Not all number are used (yet):

SQL> exec dbms_output.put_line (sqlerrm(-666))
ORA-00666: Message 666 not found; product=RDBMS; facility=ORA

PL/SQL procedure successfully completed.