我正在编写一个函数,它将多个字段的结构写入 TCP 连接。有没有办法在一个地方处理错误,比如在 Java 中捕获异常?
我的实现看起来像,
func writeFrame(frame *Frame, conn net.Conn) error {
bo := binary.BigEndian
if err := binary.Write(conn, bo, frame.ype); err != nil {
return err
}
if err := binary.Write(conn, bo, frame.id); err != nil {
return err
}
if err := binary.Write(conn, bo, frame.seq); err != nil {
return err
}
if err := binary.Write(conn, bo, uint32(len(frame.arg1))); err != nil {
return err
}
if err := binary.Write(conn, bo, uint32(len(frame.arg2))); err != nil {
return err
}
if err := binary.Write(conn, bo, uint32(len(frame.arg3))); err != nil {
return err
}
var csum uint32
if err := binary.Write(conn, bo, csum); err != nil {
return err
}
if _, err := conn.Write(frame.arg1); err != nil {
return err
}
if _, err := conn.Write(frame.arg2); err != nil {
return err
}
if _, err := conn.Write(frame.arg3); err != nil {
return err
}
return nil
}
相关分类