showmessage('str')// 显示一般信息
raise exception.create('str')//触发一个异常信息
 
var i:integer;
try
 i:=i/0;
except
 raise exception.create('零除错误')
end;   
showMessage('str');//不再执行

解决方案 »

  1.   

    一个用的是异常处理,一个是信息显示,肯定不一样!单独的两句效果时一样的,但是在很多的语句中间,用异常的话,如果没有保护,那么从Raise后面的语句都不会执行,lwm8246说的有点儿错误,如果把showMessage('str');//不再执行放在i:=i/0后面就对了。
      

  2.   

    如果把showMessage('str');//不再执行 放在i:=i/0后面的话,那么这句话就不会执行;
    而转到except这行
      

  3.   

    showmessage('str');现实一条消息,然后继续执行下一句。
    raise exception.create('str');引发一个异常,会改变改变程序执行流程,如果没有异常保护,就会跳出当前事件,并将异常交给默认的异常处理过程处理,通常默认都只是显示一下异常信息。此时表面上看起来一样,不过用了try...except异常保护的话,可以自定义处理方法,就不会有默认的对话框了。