关于处理数据库异常的问题请教,请好心人指点

                            
后台为Oracle8i数据库,Delphi中用ADOQuery连接数据库   
  数据库中有一个表为test(id,value),定义了id为primary   key  
  该表中如果已经有了:           id                   value  
                                                    1                     10  
  那么我写这条语句就会出错:  
  ADOQuery1.sql.add('insert   into   test(id,value)   values(1,20)');  
  ADOQuery1.ExedSQL;  
  程序会返回数据插入出错的讯息:     unique   constraint(DLJF.SYS_test)   violated  
   
  我现在想通过代码处理这种错误  
  如果发现插入的数据跟数据库里面的主键重复,就显示“该项数据已存在”  
   
  我看到有帖子说最好的方法是用TApplication.   OnException,但是我学Delphi不久,不知道如何使用比较好的方法和代码来处理这种异常  
  请好心的大虾详细的指点一下

查看回复