| 1234567891011121314151617181920212223242526272829303132 | 
							- // Package common provides common utility functions for error handling, formatting, and multi-error management.
 
- package common
 
- import (
 
- 	"errors"
 
- 	"fmt"
 
- 	"github.com/mhsanaei/3x-ui/v2/logger"
 
- )
 
- // NewErrorf creates a new error with formatted message.
 
- func NewErrorf(format string, a ...any) error {
 
- 	msg := fmt.Sprintf(format, a...)
 
- 	return errors.New(msg)
 
- }
 
- // NewError creates a new error from the given arguments.
 
- func NewError(a ...any) error {
 
- 	msg := fmt.Sprintln(a...)
 
- 	return errors.New(msg)
 
- }
 
- // Recover handles panic recovery and logs the panic error if a message is provided.
 
- func Recover(msg string) any {
 
- 	panicErr := recover()
 
- 	if panicErr != nil {
 
- 		if msg != "" {
 
- 			logger.Error(msg, "panic:", panicErr)
 
- 		}
 
- 	}
 
- 	return panicErr
 
- }
 
 
  |