- tasksch error show taks name

- distinguish platform error
This commit is contained in:
gazebo
2018-12-03 16:19:51 +08:00
parent 042a0d1752
commit ceb66bc48a
7 changed files with 21 additions and 14 deletions

View File

@@ -176,7 +176,7 @@ func (task *ParallelTask) Run() {
}
}
if taskErr != nil {
task.Err = NewTaskError(taskErr)
task.Err = NewTaskError(task.Name, taskErr)
} else {
task.Err = task.buildTaskErrFromDetail()
}

View File

@@ -65,7 +65,7 @@ func (task *SeqTask) Run() {
}
}
if taskErr != nil {
task.Err = NewTaskError(taskErr)
task.Err = NewTaskError(task.Name, taskErr)
} else {
task.Err = task.buildTaskErrFromDetail()
}

View File

@@ -56,16 +56,22 @@ type ITask interface {
}
type TaskError struct {
error
name string
errStr string
}
func (t *TaskError) MarshalJSON() ([]byte, error) {
return json.Marshal(t.Error())
}
func NewTaskError(err error) *TaskError {
func (t *TaskError) Error() string {
return fmt.Sprintf("任务[%s]执行失败,错误详情:\n%s", t.name, t.errStr)
}
func NewTaskError(name string, err error) *TaskError {
return &TaskError{
err,
name: name,
errStr: err.Error(),
}
}
@@ -301,7 +307,7 @@ func (t *BaseTask) setStatus(status int) {
func (t *BaseTask) buildTaskErrFromDetail() (err error) {
if len(t.detailErrMsgList) > 0 {
return NewTaskError(fmt.Errorf("设置了错误继续标志,部分操作失败,总任务数:%d失败数%d以下为详情\n%s", t.TotalItemCount, t.FailedItemCount, strings.Join(t.detailErrMsgList, "\n")))
return NewTaskError(t.Name, fmt.Errorf("设置了错误继续标志,部分操作失败,总任务数:%d失败数%d以下为详情\n%s", t.TotalItemCount, t.FailedItemCount, strings.Join(t.detailErrMsgList, "\n")))
}
return nil
}

View File

@@ -9,6 +9,7 @@ import (
)
func TestTaskError(t *testing.T) {
err := NewTaskError(errors.New("hello"))
err := NewTaskError("test", errors.New("hello"))
fmt.Println(utils.Format4Output(err, false))
fmt.Println(err.Error())
}