Aula 04 – Golang – Fiber – Errors
Aula 04 – Golang – Fiber – Errors
Voltar para página principal do blog
Todas as aulas desse curso
Aula 03 Aula 05
Se gostarem do conteúdo dêem um joinha 👍 na página do Código Fluente no
Facebook
Sigam o Código Fluente no Instagram e no TikTok.
Link para a Digital Innovation
Quer aprender python3 de graça e com certificado? Acesse então:
workover
Meus link de afiliados:
Hostinger
Digital Ocean
One.com
Código da aula: Github
Melhore seu NETWORKING
Participe de comunidades de desenvolvedores:
Fiquem a vontade para me adicionar ao linkedin.
E também para me seguir no GITHUB.
PIX para doações
Se quiser copiar o código do PIX:
00020126580014BR.GOV.BCB.PIX013643c5f950-535b-4658-b91f-1f1d135fe4105204000053039865802BR5925Antonio Cavalcante de Pau6009SAO PAULO61080540900062070503***6304946B
Aula 04 – Golang – Fiber – Errors
Vamos criar uma função chamada divide() que vai retornar um erro quando tentarmos dividir algum número por zero.
fiber-project/src/main.go
package main
import (
"fmt"
"errors"
"github.com/gofiber/fiber/v2"
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
func main() {
var dsn = "root:mysql1234@/fluent_admin?charset=utf8mb4&parseTime=True&loc=Local"
var v = "Não conseguiu conectar ao banco de dados"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
panic(v)
}
fmt.Println("conexão OK!")
fmt.Println(db)
d, e := divide(2, 1)
fmt.Println(d, e)
app := fiber.New()
app.Get("/", home)
app.Listen(":3000")
}
func home(c *fiber.Ctx) error {
return c.SendString("Hello, World 👋!")
}
func divide(a int, b int)(int, error){
if b == 0{
return 0, errors.New("you cannot divide by zero")
}
return a / b, nil
}
E para testar execute:
go run main.go
Saída:
Conexão OK!
&{0xc0001725a0 <nil> 0 0xc000332380 1}
2 <nil>
Refatorando
Vamos tirar o fmt.Println(db) e tirar a variável db e substituir por _ nessa linha:
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
_, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
E tentar dividir um número por zero.
fiber-project/src/main.go
package main
import (
"fmt"
"errors"
"github.com/gofiber/fiber/v2"
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
func main() {
var dsn = "root:mysql1234@/fluent_admin?charset=utf8mb4&parseTime=True&loc=Local"
var v = "Não conseguiu conectar ao banco de dados"
_, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
panic(v)
}
fmt.Println("conexão OK!")
d, e := divide(2, 0)
fmt.Println(d, e)
app := fiber.New()
app.Get("/", home)
app.Listen(":3000")
}
func home(c *fiber.Ctx) error {
return c.SendString("Hello, World 👋!")
}
func divide(a int, b int)(int, error){
if b == 0{
return 0, errors.New("you cannot divide by zero")
}
return a / b, nil
}
Derrube o servidor com ctrl + c e reinicie ele com:
go run main.go
Saída:
Conexão OK!
0 you cannot divide by zero