| 532 | } |
| 533 | |
| 534 | func ExampleDecodeError() { |
| 535 | doc := `name = 123__456` |
| 536 | |
| 537 | s := map[string]interface{}{} |
| 538 | err := Unmarshal([]byte(doc), &s) |
| 539 | |
| 540 | fmt.Println(err) |
| 541 | |
| 542 | var derr *DecodeError |
| 543 | if errors.As(err, &derr) { |
| 544 | fmt.Println(derr.String()) |
| 545 | row, col := derr.Position() |
| 546 | fmt.Println("error occurred at row", row, "column", col) |
| 547 | } |
| 548 | // Output: |
| 549 | // toml: number must have at least one digit between underscores |
| 550 | // 1| name = 123__456 |
| 551 | // | ~~ number must have at least one digit between underscores |
| 552 | // error occurred at row 1 column 11 |
| 553 | } |
| 554 | |
| 555 | func TestWrapDecodeErrorNil(t *testing.T) { |
| 556 | assert.True(t, wrapDecodeError([]byte("a = 1"), nil) == nil) |