Does `EXCEPTION WHEN OTHERS THEN RAISE` do something?

yes, that exception does nothing but raise the same error out. also it serves to mask the real line number of the error. i'd remove that if I were you.

eg:

SQL> declare
  2    v number;
  3  begin
  4    select 1 into v from dual;
  5    select 'a' into v from dual;
  6  exception
  7    when others
  8    then
  9      raise;
 10  end;
 11  /
declare
*
ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error: character to number conversion error
ORA-06512: at line 9

vs:

SQL> declare
  2    v number;
  3  begin
  4    select 1 into v from dual;
  5    select 'a' into v from dual;
  6  end;
  7  /
declare
*
ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error: character to number conversion error
ORA-06512: at line 5

the line number in the first one is pointing to the raise instead of the real line number. it can make tracking down errors harder.