在調試模式下,powerbuilder(版本10.5)拋出應用程序執行錯誤並終止應用程序,因爲語句在try/catch塊內放置引發的錯誤?PowerBuilder通過try/catch塊內的錯誤在調試模式下崩潰
例如下面的第3行拋出「超出數組邊界」錯誤,應用程序終止。我如何克服這個(處理過的)錯誤並調試其餘的代碼?
try
// lstr_passed_values = message.powerobjectparm
ls_symv_no = gstr_symv_passed_values.is_values[1]
if isnull(ls_symv_no) or ls_symv_no = "" then
is_symv_no="%"
else
is_symv_no = ls_symv_no
gstr_symv_passed_values.is_values[1]=""
end if
catch (throwable err)
is_symv_no="%"
end try
你有沒有試過在訪問它的元素之前檢查數組的長度? – ilitirit 2010-02-11 08:42:34
是的,這可以解決問題,但try/catch塊的用途是什麼。在運行時,代碼行爲正常,但是在調試模式下,它的行爲就像try/catch語句被忽略一樣! – 2010-02-11 08:54:57
經過一番研究,似乎這是已知的問題,我不確定是否存在通用的解決方法(在運行時使用messageboxes之外)。 http://groups.google.co.za/group/sybase.public.powerbuilder.futures.discussion/browse_thread/thread/e2dc716c08de40c1/085ab54268651245?hl=zh-CN&lnk=gst&q=try+catch+debug#085ab54268651245 – ilitirit 2010-02-11 15:11:30