教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 Go基础学习记录 - 编写Web应用程序 - 错误处理

Go基础学习记录 - 编写Web应用程序 - 错误处理

发布时间:2021-12-25   编辑:jiaochengji.com
教程集为您提供Go基础学习记录 - 编写Web应用程序 - 错误处理等资源,欢迎您收藏本站,我们将为您提供最新的Go基础学习记录 - 编写Web应用程序 - 错误处理资源
<h2>错误处理</h2>

前面的分享加了两个功能,一个是编辑功能,一个保存功能

在我们的程序中有几个地方其实是忽略了错误的处理。
这是不好的做法,尤其是因为这样的做法发生错误时,程序会出现意外行为。
更好的解决方案是处理错误并向用户返回错误消息。
这样,如果出现问题,服务器将完全按照我们想要的方式运行,并且可以通知用户。
首先,让我们处理renderTemplate中的错误:

<pre><code>func renderTemplate(w http.ResponseWriter, templateName string, p *Page) { t, err := template.ParseFiles("template/" templateName ".html") if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } err = t.Execute(w, p) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } }</code></pre>

http.Error函数发送指定的HTTP响应代码(在本例中为“内部服务器错误”)和错误消息。
将这个放在一个单独的功能中的决定已经取得了成效。
现在让我们修复saveHandler:

<pre><code>func saveHandler(w http.ResponseWriter, r *http.Request) { title := r.URL.Path[len("/save/"):] body := r.FormValue("body") p := &Page{ Title: title, Body: []byte(body), } err := p.save() if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) } http.Redirect(w, r, "/view/" title, http.StatusFound) }</code></pre>

p.save()期间发生的任何错误都将报告给用户

到此这篇关于“Go基础学习记录 - 编写Web应用程序 - 错误处理”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
Go基础学习记录 - 编写Web应用程序 - 错误处理
Go基础学习记录 - 编写Web应用程序 - 添加编辑和保存功能(二)
想系统学习GO语言(Golang
Go基础学习记录 - 编写Web应用程序 - 重新调整项目目录结构(二)
[GO语言基础] 一.为什么我要学习Golang以及GO语言入门普及
GO语言零基础从入门到精通视频教程
go 语言学习历程
Golang笔记:语法,并发思想,web开发,Go微服务相关
Go 语言到底适合干什么?
Go 语言学习第一章节

[关闭]
~ ~