Detect division by zero: Difference between revisions

Content added Content deleted
mNo edit summary
mNo edit summary
Line 2,531: Line 2,531:
=={{header|V (Vlang)}}==
=={{header|V (Vlang)}}==
<syntaxhighlight lang="Go">
<syntaxhighlight lang="Go">

fn main() {
fn main() {
divide(15, 0)
divide(15, 0)
Line 2,537: Line 2,538:


fn divide(x f64, y f64) {
fn divide(x f64, y f64) {
result := x/y
succeed := divide_error_handler(x, y) or {
if result.str().contains('inf') == false {
println(err)
println(result)
return
return
}
}
println(succeed)
println('Can\'t divide by zero!')
}

fn divide_error_handler(x f64, y f64) !f64 {
if y != 0 {
return x/y
}
return error('Can\'t divide by zero!')
}
}
</syntaxhighlight>
</syntaxhighlight>
Line 2,562: Line 2,557:
fn divide(x f64, y f64) {
fn divide(x f64, y f64) {
error_handler := fn [x, y] () !f64 {
error_handler := fn [x, y] () !f64 {
if y != 0 {
result := x/y
if result.str().contains('inf') == false {return result}
return x/y
}
return error('Can\'t divide by zero!')
return error('Can\'t divide by zero!')
}
}
Line 2,574: Line 2,568:
}
}
</syntaxhighlight>
</syntaxhighlight>



{{out}}
{{out}}