[stdin]

[stdin]:1
with(this){__filename}
^^^^
SyntaxError: Strict mode code may not include a with statement
    at Object.<anonymous> ([stdin]-wrapper:*:*)
    at Module._compile (module.js:*:*)
    at evalScript (node.js:*:*)
    at Socket.<anonymous> (node.js:*:*)
    at Socket.EventEmitter.emit (events.js:*:*)
    at _stream_readable.js:*:*
    at process._tickCallback (node.js:*:*)
42
42

[stdin]:1
throw new Error("hello")
      ^
Error: hello
    at [stdin]:1:*
    at Object.<anonymous> ([stdin]-wrapper:*:*)
    at Module._compile (module.js:*:*)
    at evalScript (node.js:*:*)
    at Socket.<anonymous> (node.js:*:*)
    at Socket.EventEmitter.emit (events.js:*:*)
    at _stream_readable.js:*:*
    at process._tickCallback (node.js:*:*)

[stdin]:1
throw new Error("hello")
      ^
Error: hello
    at [stdin]:1:*
    at Object.<anonymous> ([stdin]-wrapper:*:*)
    at Module._compile (module.js:*:*)
    at evalScript (node.js:*:*)
    at Socket.<anonymous> (node.js:*:*)
    at Socket.EventEmitter.emit (events.js:*:*)
    at _stream_readable.js:*:*
    at process._tickCallback (node.js:*:*)
100

[stdin]:1
var x = 100; y = x;
               ^
ReferenceError: y is not defined
    at [stdin]:1:16
    at Object.<anonymous> ([stdin]-wrapper:*:*)
    at Module._compile (module.js:*:*)
    at evalScript (node.js:*:*)
    at Socket.<anonymous> (node.js:*:*)
    at Socket.EventEmitter.emit (events.js:*:*)
    at _stream_readable.js:*:*
    at process._tickCallback (node.js:*:*)

[stdin]:1
var ______________________________________________; throw 10
                                                    ^
10

[stdin]:1
var ______________________________________________; throw 10
                                                    ^
10
done
