Слияние кода завершено, страница обновится автоматически
package main
import (
"fmt"
"os"
)
/**
defer延迟语句
defer时常用于关闭资源
defer会在return之前执行
*/
func main() {
defer func() { //必须提前执行defer,好捕捉错误
if info := recover(); info != nil { //recover()用来判断是否有宕机错误
fmt.Println("触发了宕机", info) //如果存在错误打印错误信息,并结束程序
} else {
fmt.Println("程序正常退出") //如果无错运行正常
}
}()
rw := Rw("1.txt")
fmt.Println(rw)
}
/**
疯转一个读取文件函数
*/
func Rw(fileName string) string {
file, err := os.Open(fileName) //当打开文件失败
if err != nil {
panic(err) //触发一个宕机
}
defer file.Close() //
b1 := make([]byte, 5)
file.Read(b1)
return string(b1)
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )