golang zerodivide的问题

shenhuarj · · 1298 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

对Go异常处理有一些疑惑,比如我有一个divide的方法: ```go func divide(a int, b int) float32 { defer func() { if err := recover(); err != nil { //此处recover了,所以可以继续往执行 fmt.Println(err) } }() return float32(a / b) } func main() { var a int = 10 var b int = 0 fmt.Println(divide(a, b)) //打印出0 } ``` 异常可以处理掉,但是返回的0就非常疑惑了,因为调用方不知道是发生了异常,还是结果是0。 比如: 1. divide(10, 0) = 0 2. divide(0, 10) = 0 如果谁知道,希望不惜赐教!! 谢谢

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1298 次点击  
加入收藏 微博
1 回复  |  直到 2016-06-03 10:47:53
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传