function TForm1.getid(id: string) :Boolean;
begin
if id = '0' then Result:= True
else
result:=False;
end;
procedure TForm1.BT1Click(Sender: TObject);
begin
try
getid(edt1.Text);
ShowMessage('0');
except
ShowMessage('1');
end;
end;
問題:如果函式getid回傳false,相當于try捕捉到錯誤,如何讓程式執行except下的程式,輸出為1?
uj5u.com熱心網友回復:
procedure TForm1.Button1Click(Sender: TObject);begin
try
if getid(edit1.Text) then
ShowMessage('0')
else
raise Exception.Create('');
except
ShowMessage('1');
end;
end;
uj5u.com熱心網友回復:
樓上正解,拋出一個例外,就會跳轉到Except。uj5u.com熱心網友回復:
誰跟你說函式回傳false就是有例外了?!-_-!uj5u.com熱心網友回復:
你這段代碼即使回傳false也不會執行ShowMessage('1');try except是有例外才執行里面的代碼的
比如:
try
x:=strtoint(edit1.text);
except
showmessage('1');
end;
若edit1輸入的不是數字,就出現例外了,就會執行showmessage('1');
uj5u.com熱心網友回復:
只是判斷true/false,就不必用except了if getid(edt1.Text) then
ShowMessage('0')
else
ShowMessage('1');
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/157107.html
標籤:數據庫相關
上一篇:有誰知道如何解決FastReport 4.9 匯出PDF檔案中文顯示亂碼?
下一篇:XML取值問題?
