Skip to content

Instantly share code, notes, and snippets.

@nirvdrum
Created December 15, 2016 20:57
Show Gist options
  • Save nirvdrum/6a08c54629ae6a8aaaf2389298d609b8 to your computer and use it in GitHub Desktop.
Save nirvdrum/6a08c54629ae6a8aaaf2389298d609b8 to your computer and use it in GitHub Desktop.
extra_exceptions = []
begin
puts "hi"
rescue ArgumentError, *extra_exceptions
end
AST:
RootNode 0
BlockNode 0
LocalAsgnNode:extra_exceptions 0
ZArrayNode 0
BeginNode 2
RescueNode 3
RescueBodyNode 4
ArgsCatNode 4
ArrayNode 4
ConstNode:ArgumentError 4
LocalVarNode:extra_exceptions 4
FCallNode:puts 3
ArrayNode 3
StrNode 3
, null
, null
===============================
extra_exceptions = []
begin
puts "hi"
rescue ArgumentError, *extra_exceptions, StandardError
end
AST:
RootNode 0
BlockNode 0
LocalAsgnNode:extra_exceptions 0
ZArrayNode 0
BeginNode 2
RescueNode 3
RescueBodyNode 4
ArgsPushNode 4
ArgsCatNode 4
ArrayNode 4
ConstNode:ArgumentError 4
LocalVarNode:extra_exceptions 4
ConstNode:StandardError 5
FCallNode:puts 3
ArrayNode 3
StrNode 3
, null
, null
===============================
extra_class = StandardError
extra_exceptions = []
begin
puts "hi"
rescue extra_class, *extra_exceptions, extra_class
end
AST:
RootNode 0
BlockNode 0
LocalAsgnNode:extra_class 0
ConstNode:StandardError 1
LocalAsgnNode:extra_exceptions 1
ZArrayNode 1
BeginNode 3
RescueNode 4
RescueBodyNode 5
ArgsPushNode 5
ArgsCatNode 5
ArrayNode 5
LocalVarNode:extra_class 5
LocalVarNode:extra_exceptions 5
LocalVarNode:extra_class 5
FCallNode:puts 4
ArrayNode 4
StrNode 4
, null
, null
===============================
extra_class = StandardError
extra_exceptions = []
begin
puts "hi"
rescue *extra_exceptions, extra_class
end
AST:
RootNode 0
BlockNode 0
LocalAsgnNode:extra_class 0
ConstNode:StandardError 1
LocalAsgnNode:extra_exceptions 1
ZArrayNode 1
BeginNode 3
RescueNode 4
RescueBodyNode 5
ArgsPushNode 5
SplatNode 5
LocalVarNode:extra_exceptions 5
LocalVarNode:extra_class 5
FCallNode:puts 4
ArrayNode 4
StrNode 4
, null
, null
===============================
extra_class = StandardError
extra_exceptions = []
begin
puts "hi"
rescue *extra_exceptions, extra_class, *extra_exceptions
end
AST:
RootNode 0
BlockNode 0
LocalAsgnNode:extra_class 0
ConstNode:StandardError 1
LocalAsgnNode:extra_exceptions 1
ZArrayNode 1
BeginNode 3
RescueNode 4
RescueBodyNode 5
ArgsCatNode 5
ArgsPushNode 5
SplatNode 5
LocalVarNode:extra_exceptions 5
LocalVarNode:extra_class 5
LocalVarNode:extra_exceptions 5
FCallNode:puts 4
ArrayNode 4
StrNode 4
, null
, null
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment