디버그 모드에있을 때 powerbuilder (ver 10.5)가 응용 프로그램 실행 오류를 발생시키고 응용 프로그램을 종료합니다.try/catch 블록 내의 오류로 인해 디버그 모드에서 PowerBuilder가 충돌 함
예를 들어 아래의 3 행이 throw되면 "배열 경계 초과"오류가 발생하고 응용 프로그램이 종료됩니다. 이 (처리 된) 오류를 어떻게 극복하고 나머지 코드를 디버그 할 수 있습니까?
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
예,이 방법으로 문제가 해결되지만 try/catch 블록의 용도는 무엇입니까? 런타임시 코드는 예상대로 작동하지만 디버그 모드에서는 try/catch 문을 무시한 것처럼 동작합니다! –
몇 가지 조사가 끝나면 알려진 문제이며 일반 해결 방법 (런타임에 messagebox를 사용하지 않는 것)이 확실하지 않은 것으로 보입니다. http://groups.google.co.za/group/sybase.public.powerbuilder.futures.discussion/browse_thread/thread/e2dc716c08de40c1/085ab54268651245?hl=ko&lnk=gst&q=try+catch+debug#085ab54268651245 – ilitirit