retazec = retazec & "Ideme delit: " & pole(i) & " s " & x
d = Deleni(pole(i), x)
if iserror(d) then
if d = CVErr("Nula") then
retazec = retazec & " Nulou nedělíme!" & Chr(10)
else
retazec = retazec & " Nejde dělit!" & Chr(10)
end if
else
retazec = retazec & " sa rovna: " & pole(i)/x & Chr(10)
end if
x = x - 1
Next
MsgBox retazec
End Sub
function Deleni(a as variant, b as variant) as variant
on error goto Chyba
Deleni = a / b
exit function
Chyba: ' Funkce končí korektně ale hodnota signalizuje chybu
if b = 0 then
Deleni = CVErr("Nula")
else
Deleni = CVErr("Jiná chyba")
endif
end function
Příklad použití RESUME NEXT ve spojení ON ERROR se řadí k nejhorší praxi programátora. Program doběhne a nevaruje, že je něco špatně.
Jeho použití by mělo být omezeno jen na nezbytnou část kódu. Příkaz zároveň nuluje proměnnou ERR a je vhodné následně tuto proměnnou zkontrolovat.
Mimochodem, jeho platnost se ukončuje ON ERROR GOTO 0.