优化错误处理相关代码

This commit is contained in:
刘祥超
2023-08-11 14:38:00 +08:00
parent 93521963b1
commit 2eee314ec8
17 changed files with 87 additions and 76 deletions

View File

@@ -5,6 +5,7 @@ package clock
import (
"encoding/binary"
"errors"
"fmt"
"github.com/TeaOSLab/EdgeCommon/pkg/nodeconfigs"
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
"github.com/TeaOSLab/EdgeNode/internal/events"
@@ -108,7 +109,7 @@ func (this *ClockManager) Sync() error {
if err == nil {
currentTime, err := this.ReadServer(server)
if err != nil {
return errors.New("read server failed: " + err.Error())
return fmt.Errorf("read server failed: %w", err)
}
var delta = time.Now().Unix() - currentTime.Unix()
@@ -145,7 +146,7 @@ func (this *ClockManager) syncNtpdate(ntpdate string, server string) error {
func (this *ClockManager) ReadServer(server string) (time.Time, error) {
conn, err := net.Dial("udp", server+":123")
if err != nil {
return time.Time{}, errors.New("connect to server failed: " + err.Error())
return time.Time{}, fmt.Errorf("connect to server failed: %w", err)
}
defer func() {
_ = conn.Close()
@@ -164,13 +165,13 @@ func (this *ClockManager) ReadServer(server string) (time.Time, error) {
var req = &NTPPacket{Settings: 0x1B}
err = binary.Write(conn, binary.BigEndian, req)
if err != nil {
return time.Time{}, errors.New("write request failed: " + err.Error())
return time.Time{}, fmt.Errorf("write request failed: %w", err)
}
var resp = &NTPPacket{}
err = binary.Read(conn, binary.BigEndian, resp)
if err != nil {
return time.Time{}, errors.New("write server response failed: " + err.Error())
return time.Time{}, fmt.Errorf("write server response failed: %w", err)
}
const ntpEpochOffset = 2208988800

View File

@@ -1,9 +1,11 @@
//go:build windows
// +build windows
package utils
import (
"fmt"
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
"github.com/iwind/TeaGo/Tea"
"golang.org/x/sys/windows"
"golang.org/x/sys/windows/svc"
@@ -15,7 +17,7 @@ import (
func (this *ServiceManager) Install(exePath string, args []string) error {
m, err := mgr.Connect()
if err != nil {
return fmt.Errorf("connecting: %s please 'Run as administrator' again", err.Error())
return fmt.Errorf("connecting: %w please 'Run as administrator' again", err)
}
defer m.Disconnect()
s, err := m.OpenService(this.Name)
@@ -30,7 +32,7 @@ func (this *ServiceManager) Install(exePath string, args []string) error {
StartType: windows.SERVICE_AUTO_START,
}, args...)
if err != nil {
return fmt.Errorf("creating: %s", err.Error())
return fmt.Errorf("creating: %w", err)
}
defer s.Close()
@@ -46,12 +48,12 @@ func (this *ServiceManager) Start() error {
defer m.Disconnect()
s, err := m.OpenService(this.Name)
if err != nil {
return fmt.Errorf("could not access service: %v", err)
return fmt.Errorf("could not access service: %w", err)
}
defer s.Close()
err = s.Start("service")
if err != nil {
return fmt.Errorf("could not start service: %v", err)
return fmt.Errorf("could not start service: %w", err)
}
return nil
@@ -61,12 +63,12 @@ func (this *ServiceManager) Start() error {
func (this *ServiceManager) Uninstall() error {
m, err := mgr.Connect()
if err != nil {
return fmt.Errorf("connecting: %s please 'Run as administrator' again", err.Error())
return fmt.Errorf("connecting: %w please 'Run as administrator' again", err)
}
defer m.Disconnect()
s, err := m.OpenService(this.Name)
if err != nil {
return fmt.Errorf("open service: %s", err.Error())
return fmt.Errorf("open service: %w", err)
}
// shutdown service
@@ -78,7 +80,7 @@ func (this *ServiceManager) Uninstall() error {
defer s.Close()
err = s.Delete()
if err != nil {
return fmt.Errorf("deleting: %s", err.Error())
return fmt.Errorf("deleting: %w", err)
}
return nil
}