PL SQL Oracle PLSQL

SQL> CREATE TABLE emp (
  2    id         NUMBER PRIMARY KEY,
  3    fname VARCHAR2(50),
  4    lname  VARCHAR2(50)
  5  );
Table created.
SQL>
SQL>
SQL>
SQL> CREATE TABLE log_table(
  2    code     VARCHAR2(100),
  3    message     VARCHAR2(100),
  4    info     VARCHAR2(100));
Table created.
SQL>
SQL> DECLARE
  2    e_MissingNull EXCEPTION;
  3    PRAGMA EXCEPTION_INIT(e_MissingNull, -1400);
  4  BEGIN
  5    INSERT INTO emp (id) VALUES (NULL);
  6  EXCEPTION
  7    WHEN e_MissingNull then
  8      INSERT INTO log_table (info) VALUES ('ORA-1400 occurred');
  9  END;
 10  /
PL/SQL procedure successfully completed.
SQL>
SQL> SELECT info FROM log_table;
INFO
--------------------------------------------------------------------------------
ORA-1400 occurred
1 row selected.
SQL> drop table log_table;
Table dropped.
SQL> drop table emp;
Table dropped.