Catch the error in an exception clause and ignore it.

SQL> set serveroutput on
SQL> run
  1  declare
  2     x number ;
  3  begin
  4     x := to_number ('123^') ;
  5  exception
  6     when value_error
  7     then
  8        dbms_output.put_line ('Bad Number') ;
  9     when others
 10     then
 11        raise ;
 12* end ;
Bad Number
Procedura PL/SQL completata correttamente.

> -----Original Message-----
> Saira Somani-Mendelin
> 
> I have a shell script that executes a sql*plus script (which 
> executes a
> procedure) based on user input. 
> 
> But what if the user inputs an invalid datatype? The exception section
> handles the error and displays a user-friendly message but I still get
> an error stack. I want to hide this from the user. How can I 
> do this? I
> have set feedback and echo options off.  See output below:
> 
> PO Reconciliation Batch Release
> ================================
> 
> Enter batch number to be released:
> yrugis
> You have entered an invalid number! Exiting program...
> **[I want to suppress the errors below]**
> BEGIN RELEASE_PO_B_H('yrugis'); END;
> 
> *
> ERROR at line 1:
> ORA-01722: invalid number
> ORA-06512: at "TRAIN65D.RELEASE_PO_B_H", line 16
> ORA-06512: at line 1
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Jacques Kilchoer
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).

Reply via email to