gpt4 book ai didi

java - 在图形代码中处理除以零

转载 作者:行者123 更新时间:2023-12-03 22:53:44 25 4
gpt4 key购买 nike

我正在编写一个程序图像生成库 ( Clisk ),它允许用户定义自己的数学函数来生成图像。

他们显然有可能定义一个函数,该函数可能导致某些像素除以零,例如(伪代码)

red = 1.0 / (xposition - 0.5)

每当 xposition = 0.5(图像的中间)时,这将导致除以零

理想情况下,我不希望图像生成崩溃...但与此同时,我不想创建一个笨拙的 hack 来忽略​​被零除,这会在以后导致问题。

处理这些案例的良好、稳健、系统的方法是什么?

最佳答案

Ideally I don't want image generation to crash... but at the same time I don't want to create a clunky hack to ignore divide by zeros that will cause problems later.

(我假设你的意思是这个片段是一些用户提供的代码的例子......)

显然,如果用户提供的代码可能引发异常,那么您就无法阻止这种情况的发生。 (而且在除法之前进行检查的建议显然与您无关……。)

那么,除了“崩溃”之外,您还能做什么?生成空图像?忽略用户的功能?你会产生垃圾……而这不是用户需要的。

您当然无法进入并修复他/她的 Java 代码。 (如果该片段是用某种自定义语言编写的代码,那么您也无法访问并更正它。您/您的图书馆不知道用户提供的代码应该正在做...)

没有。我认为最好的答案是将用户提供的代码中出现的任何意外(未经检查)异常包装在您自己的异常中,清楚地告诉用户他的代码中发生了错误。然后由调用您的库代码的应用程序代码决定是处理异常还是“崩溃”。


如果您要为用户编写函数提供一种“良好、稳健、系统的方法”,我认为您找错了地方。这不是你真正关心的......

关于java - 在图形代码中处理除以零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10712163/

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