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
|
---
layout: default
permalink: docs/error-reporting.html
---
# Error Reporting
Stylus has fantastic error reporting built-in for syntax, parse, and evaluation errors—complete with stack traces, line numbers, and filenames.
## Parse Error
Parse error example:
body
form input
== padding 5px
Yielding:
Error: /Users/tj/Projects/stylus/testing/test.styl:4
3: ' form input'
4: ' == padding 5px'
illegal unary ==
## Evaluation Error
This "runtime" or evaluation error is caused by passing a string to `border-radius()`, instead of the expected `Unit` (by using our helper `ensure(n, 'unit')`).
ensure(val, type)
unless val is a type
error('expected a ' + type + ', but got ' + typeof(val))
border-radius(n)
ensure(n, 'unit')
-webkit-border-radius n
-moz-border-radius n
border-radius n
body
border-radius '5px'
Yielding:
Error: /Users/tj/Projects/stylus/examples/error.styl:12
11: ''
12: 'body'
13: ' border-radius \'5px\''
14: ''
expected a unit, but got string
at ensure() (/Users/tj/Projects/stylus/examples/error.styl:2)
at border-radius() (/Users/tj/Projects/stylus/examples/error.styl:5)
at "body" (/Users/tj/Projects/stylus/examples/error.styl:10)
|