- 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

@@ -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
}