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
  • 相关阅读:
    I
    D
    K
    G
    J
    Doom HDU
    Mountaineers Gym
    华南理工大学“三七互娱杯”程序设计竞赛(重现赛)( HRY and array 高精度除法模板)
    Corn Fields POJ
    linux如何安装缺失依赖
  • 原文地址:https://www.cnblogs.com/UniqueColor/p/10309854.html
Copyright © 2011-2022 走看看