File: rlang-errors.md

package info (click to toggle)
r-cran-cli 3.6.4-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 4,288 kB
  • sloc: ansic: 16,412; cpp: 37; sh: 13; makefile: 2
file content (54 lines) | stat: -rw-r--r-- 1,587 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# cli_abort() captures correct call and backtrace

    Code
      print(expect_error(f()))
    Output
      <error/rlang_error>
      Error in `h()`:
      ! foo
      ---
      Backtrace:
           x
        1. +-base::print(expect_error(f()))
        2. +-testthat::expect_error(f())
        3. | \-testthat:::expect_condition_matching(...)
        4. |   \-testthat:::quasi_capture(...)
        5. |     +-testthat (local) .capture(...)
        6. |     | \-base::withCallingHandlers(...)
        7. |     \-rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
        8. \-cli (local) f()
        9.   \-cli (local) g()
       10.     \-cli (local) h()

---

    Code
      print(expect_error(f(list())))
    Output
      <error/cli_my_class>
      Error in `h()`:
      ! `x` can't be empty.
      ---
      Backtrace:
           x
        1. +-base::print(expect_error(f(list())))
        2. +-testthat::expect_error(f(list()))
        3. | \-testthat:::expect_condition_matching(...)
        4. |   \-testthat:::quasi_capture(...)
        5. |     +-testthat (local) .capture(...)
        6. |     | \-base::withCallingHandlers(...)
        7. |     \-rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
        8. \-cli (local) f(list())
        9.   \-cli (local) g(x)
       10.     \-cli (local) h(x)

# cli_abort(.internal = TRUE) reports the correct function (r-lib/rlang#1386)

    Code
      (expect_error(fn()))
    Output
      <error/rlang_error>
      Error in `fn()`:
      ! Message.
      i This is an internal error that was detected in the base package.