gpt4 book ai didi

error-handling - 如何正确执行错误处理?

转载 作者:行者123 更新时间:2023-12-03 08:13:31 24 4
gpt4 key购买 nike

我正在调用fit_circle函数,该函数可能会也可能不会调用MESSAGE过程。 fit_circle调用一个函数poly_fit,该函数可以调用MESSAGE过程,但偶尔也会产生数学错误(对此我无能为力)。

是否可以构造一个可以处理所有这些情况的错误处理程序,而无需返回交互式提示?我尝试了以下方法:

FUNCTION arb_funct,circular_data
CATCH, ERROR
IF ERROR NE 0 THEN BEGIN
CATCH, /CANCEL
print, 'An Error Occured'
return, []
ENDIF

circle_fit_result = fit_circle(circular_data)
return, circle_fit_result
END

但是,错误处理程序永远不会触发。 documentation似乎只提到寻找过程中定义的错误处理程序。

最佳答案

为我工作。这是我的示例代码:

pro mg_error_demo_helper2
compile_opt strictarr

a = b
end


pro mg_error_demo_helper1
compile_opt strictarr

mg_error_demo_helper2
end


pro mg_error_demo
compile_opt strictarr
catch, error
if (error ne 0L) then begin
catch, /cancel
print, 'An error occurred'
return
endif

mg_error_demo_helper1
end

当我运行它时,我得到:
IDL> mg_error_demo
% Compiled module: MG_ERROR_DEMO.
error happened

关于error-handling - 如何正确执行错误处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26591217/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com