Applescript TRY和IF声明

时间:2016-10-30 10:45:10

标签: applescript

好的,所以我在使用它时遇到了一些麻烦。 一切正常,只要varNumberCR2大于varNumberXMP。

将值设置为以下值,我得到了这些结果:

varNumberCR2:10
varNumberXMP:2
结果:CR2:10 / XMP:2 /比率:5,0

varNumberCR2:10
varNumberXMP:0
结果:CR2:10 / XMP:无XMP文件/比率:无法计算

varNumberCR2:0
varNumberXMP:0
结果:CR2:无CR2文件/ XMP:无XMP文件/比率:无法计算

但是,使用以下值时,varNumberCR2不会设置为“无CR2文件”

varNumberCR2:0
varNumberXMP:5
结果:CR2:0 / XMP:5 /比率:0,0

怎么了?

set varNumberCR2 to {"0"}
set varNumberXMP to {"4"}

try
set varRatio to ((round ((varNumberCR2 / varNumberXMP) * 10)) / 10)
on error
if varNumberCR2 < "1" then
    set varNumberCR2 to {"No CR2 files"}
end if
if varNumberXMP < "1" then
    set varNumberXMP to {"No XMP files"}
end if
set varRatio to {"Not possible to calculate"}
end try

display dialog {"CR2:   " & varNumberCR2 & return & "XMP:   " & varNumberXMP & return & "Ratio: " & varRatio}

1 个答案:

答案 0 :(得分:0)

请记住遵循基本的数学规则。 你不能除以零。 您可能需要为仅为零的条目添加例外。