在开发软件的时候,常常要判断用户的输入值是否完整,比如一个表的字段name是必须有值的,在界面上用意个edit给他输入值.
程序一
begin
  if trim(editname.text) = '' then
  begin
    showmessage('请输入姓名');
    exit;
  end;
  sql := 'insert into tablexxx values(''' + edtname.text + ''','''.....
  
  ''''
  执行sql语句
end;程序二
 
  property name: string read getName write setName;  function getName:string;
  begin
    if trim(editname.text) <> '' then
      result := edtname.text
    else
      raise exception.create('请输入姓名'); 
  end;  begin
    try
      sql := 'insert into tablsexxx values(''' + name + ''','''.......;
      执行sql语句
    except
      on e:exception do
        showmessage(e.message);
    end;
  end;应该用那一种比较好呢.第二种如果自定义一个异常类来处理的话是不是更好呢.

解决方案 »

  1.   

    to jinjazz ..你怎么在类的方法里面引用了控件?小弟很菜,不知有什么不对,请指点.谢谢
      

  2.   

    DElphi中的异常处理机制,确实能够捕获各种各样的错误,给用户或程序员一个明了的交互。但是你要知道Delphi中的application本身就在一个异常处理中,所有程序员没有处理的异常都要由它来处理。  况且你那条语句就是判断EDIT是否为空的问题,致于抛出个异常吗?  因为EDIT控件本身我们可以以为它是0 BUG的。  如果象你这种思考方式,  程序中的无处不是异处理。就象 pazee(耙子)(灵感点亮生活) 所说,  一个简单的事,被你搞得很复杂。
      

  3.   

    系统是否真的大到需要定义异常类,用了自己的FrameWork的地步呢?如果不是简单一点好
      

  4.   

    我的观点是:不需要/必要用Delphi异常处理的,就不要用。