Raised when the parse failed to match. It contains the message that should be presented to the user. More details can be extracted from the exceptions parse_failure_cause member: It contains an instance of {Parslet::Cause} that stores all the details of your failed parse in a tree structure.
begin parslet.parse(str) rescue Parslet::ParseFailed => failure puts failure.parse_failure_cause.ascii_tree end
Alternatively, you can just require ‘parslet/convenience’ and call the method parse_with_debug instead of parse. This method will never raise and print error trees to stdout.
require 'parslet/convenience' parslet.parse_with_debug(str)
Why the parse failed.
@return [Parslet::Cause]
# File lib/parslet.rb, line 75 def initialize(message, parse_failure_cause=nil) super(message) @parse_failure_cause = parse_failure_cause end