except on e:Exception do
//判断单位转换率
try
um_rate := vp_mstr.F('vp_um_rate_d').AsFloat / vp_mstr.F('vp_um_rate_m').AsFloat;
if um_rate <= 0 then
abort
else if (vp_mstr.F('vp_um').AsString = vp_mstr.F('part_um').AsString) and (um_rate <> 1) then
abort
else if (vp_mstr.F('vp_um').AsString <> vp_mstr.F('part_um').AsString) and (um_rate = 1) then
abort;
except on e:Exception do
begin
Application.MessageBox(PChar(E.Message), 'error', 16);//抛出异常信息
priMsg.ShowMsg('004'); //004=单位转换率设置错误!
edt_vp_um_rate_d.SetFocus;
abort;
end;
end;