title: how handle table or view does not exist exception?
body: <p>I have a set of table names, let say 150. Each table have <code>mail_id</code> column, now I want to search one <code>mail_id</code> in all of the table. For that I wrote one Plsql block. When I loop through the set of table some tables do not exists so it raises an exception. I have exception handling  block to handle that exception. Now I want to loop entire table even though it raise an exception? Any idea? Actually my block didn't handle that particular exception!</p>
  
  <pre><code>declare
  my_mail_id varchar2(50):='xyaksj@jsm.com';
  tmp_table varchar2(125);
  type varchar_collector is table of varchar2(255);
  var varchar_collector;
  table_does_not_exist exception;  
  PRAGMA EXCEPTION_INIT(table_does_not_exist, -00942);
  
  begin
  
  for cntr in (select table_name from user_tables)
      loop
  
      tmp_table:=cntr.table_name;
      dbms_output.put_line(tmp_table);
          for mail in (select email_address from tmp_table where lower(email_address) like '%my_mail_id%' )
          loop
              dbms_output.put_line(tmp_table);
          end loop;
      end loop;
  
      exception 
      when no_data_found then 
          dbms_output.put_line('email address not found');
  
      WHEN table_does_not_exist then 
           dbms_output.put_line('table dose not exists');
  
      WHEN OTHERS THEN
      --raise_application_error(-20101, 'Expecting at least 1000 tables');
      IF (SQLCODE = -942) THEN
          --DBMS_Output.Put_Line (SQLERRM);
          DBMS_Output.Put_Line ('in exception');--this exception not handled
      ELSE
          RAISE;
      END IF;
  end;
  </code></pre>