美文网首页
第05天(异常、文本文件处理)_01

第05天(异常、文本文件处理)_01

作者: lucas777 | 来源:发表于2020-01-14 17:28 被阅读0次

01_error接口的使用.go

package main

import "fmt"
import "errors"

func main() {
    //var err1 error = fmt.Errorf("%s", "this is normol err")
    err1 := fmt.Errorf("%s", "this is normal err1")
    fmt.Println("err1 = ", err1)

    err2 := errors.New("this is normal err2")
    fmt.Println("err2 = ", err2)
}

02_error接口应用.go

package main

import "fmt"
import "errors"

func MyDiv(a, b int) (result int, err error) {
    err = nil
    if b == 0 {
        err = errors.New("分母不能为0")
    } else {
        result = a / b
    }
    return
}

func main() {
    result, err := MyDiv(10, 0)
    if err != nil {
        fmt.Println("err = ", err)
    } else {
        fmt.Println("reslut = ", result)
    }
}

03_显式调用panic函数.go

package main

import "fmt"

func testa() {
    fmt.Println("aaaaaaaaaaaaaaaaa")
}
func testb() {
    //fmt.Println("bbbbbbbbbbbbbbbbbbbb")
    //显式调用panic函数,导致程序中断
    panic("this is a panic test")
}
func testc() {
    fmt.Println("cccccccccccccccccc")
}
func main() {
    testa()
    testb()
    testc()
}

04_数组越界到导致panic.go

package main

import "fmt"

func testa() {
    fmt.Println("aaaaaaaaaaaaaaaaa")
}
func testb(x int) {
    var a [10]int
    a[x] = 111 //当x为20时候,导致数组越界,产生一个panic,导致程序崩溃
}
func testc() {
    fmt.Println("cccccccccccccccccc")
}
func main() {
    testa()
    testb(20)
    testc()
}

05_recover的使用.go

package main

import "fmt"

func testa() {
    fmt.Println("aaaaaaaaaaaaaaaaa")
}
func testb(x int) {
    //设置recover
    defer func() {
        //recover() //可以打印panic的错误信息
        //fmt.Println(recover())
        if err := recover(); err != nil { //产生了panic异常
            fmt.Println(err)
        }

    }() //别忘了(), 调用此匿名函数

    var a [10]int
    a[x] = 111 //当x为20时候,导致数组越界,产生一个panic,导致程序崩溃
}
func testc() {
    fmt.Println("cccccccccccccccccc")
}
func main() {
    testa()
    testb(20)
    testc()
}

相关文章

  • 第05天(异常、文本文件处理)_01

    01_error接口的使用.go 02_error接口应用.go 03_显式调用panic函数.go 04_数组越...

  • python基础(五)

    文本文件(包括CSV和JSON)的读写 open的参数(异常处理使用try...except...finally)...

  • 第05天(异常、文本文件处理)_04

    15_设备文件的使用.go 16_文件的读写.go 17_拷贝文件.go 课堂笔记

  • 第05天(异常、文本文件处理)_03

    11_通过结构体生成json.go 12_通过map生成json.go 13_json解析到结构体.go 14_j...

  • 第05天(异常、文本文件处理)_02

    06_字符串操作.go 07_字符串转换.go 08_正则表达式1.go 09_正则表达式2.go 10_正则表达...

  • 异常处理-01

    关于异常声明throws关键字声明方法可能出现的异常,客户端代码在调用该方法时,可以抛出声明的异常让其他客户端代码...

  • 2018-01-16

    第01章 JAVA简介第02章 基础语法第02章 递归补充第03章 面向对象第04章 异常处理第05章 数组第06...

  • Python文件操作

    文本文件 打开文件 使用with的优点:可能忘记关闭的句柄。可以进行异常处理。 文件打开模式 读写文件 os操作文件

  • Linux命令大全 - sed命令

    Linux sed命令是利用script来处理文本文件。 sed可依照script的指令,来处理、编辑文本文件。 ...

  • sed命令

    Linux sed命令是利用script来处理文本文件。 sed可依照script的指令,来处理、编辑文本文件。 ...

网友评论

      本文标题:第05天(异常、文本文件处理)_01

      本文链接:https://www.haomeiwen.com/subject/mruaactx.html