zoukankan      html  css  js  c++  java
  • Go 实现异常处理机制

    实例:

     1 package main
     2 
     3 import "fmt"
     4 
     5 type DevideError struct {
     6     devidee int
     7     devider int
     8 }
     9 
    10 func (de *DevideError) Error() string {
    11     strFormat := `
    12     Cannot proceed, the divider is zero.
    13     dividee: %d
    14     divider: 0
    15 `
    16     return fmt.Sprintf(strFormat, de.devidee)
    17 }
    18 
    19 func Devide(varDevidee int, varDevider int) (result int, errorMsg string)  {
    20     if varDevider == 0 {
    21         dData := DevideError {
    22             devidee: varDevidee,
    23             devider: varDevider,
    24         }
    25         errorMsg = dData.Error()
    26         return
    27     } else {
    28         return varDevidee / varDevider, ""
    29     }
    30 }
    31 
    32 func main()  {
    33     if result, errorMsg := Devide(100, 10); errorMsg == "" {
    34         fmt.Println("100/10 = ", result)
    35     }
    36 
    37     if _, errorMsg := Devide(100, 0); errorMsg != "" {
    38         fmt.Println("errorMsg is :", errorMsg)
    39     }
    40 }

    运行结果:

    100/10 =  10
    errorMsg is : 
        Cannot proceed, the divider is zero.
        dividee: 100
        divider: 0
  • 相关阅读:
    hadoop集群配置和测试
    ubuntu 12.04安装jdk
    springboot集成mybatis
    redis连接数据库
    生产随机数
    关于字符串统计次数
    闲的无聊写了一个房租的后台
    简单的死锁
    java集合类总结(转)
    mybatis框架的搭建
  • 原文地址:https://www.cnblogs.com/UniqueColor/p/10309854.html
Copyright © 2011-2022 走看看