Language/go
go error handling
세모데
2018. 1. 2. 16:35
1. 기본 구조
import "io/ioutil"
import "fmt"
func main() {
file, err := ioutil.ReadFile("test.txt")
if err != nil
{
fmt.Println(err)
return
}
}
2. error interface
type error interface {
Error() string
}
3. create error
err := errors.New("test....")
4. error 포맷팅
name, role := "Test1", "Test2"
err := fmt.Errorf("%v %v error", name, role)
5. function error return
import "fmt"
fun Test(num int) (int, error) {
if num == 0 {
return -1, fmt.Errorf("Error test %v", num)
}
return 0, nil
}
5. panic
프로그램 수행중 panic를 만나면 프로그램 중단
import "fmt"
func main() {
fmt.Println("test1...")
panic("this happen to panic...")
fmt.Println("test2...")
}