Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 //----------------------------------------------------------------------------
 // Copyright (C) 2003  Rafael H. Bordini, Jomi F. Hubner, et al.
 // 
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
 // version 2.1 of the License, or (at your option) any later version.
 // 
 // This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
// Lesser General Public License for more details.
// 
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
// 
// To contact the authors:
// http://www.inf.ufrgs.br/~bordini
// http://www.das.ufsc.br/~jomi
//
//----------------------------------------------------------------------------
package jason.stdlib;

Internal action: .fail.

Description: fails the intention where it is run (an internal action that always returns false).

Example:

  • .fail.
public class fail extends DefaultInternalAction {
    private static InternalAction singleton = null;
    public static InternalAction create() {
        if ( == null
             = new fail();
        return ;
    }
    @Override
    public Object execute(TransitionSystem tsUnifier unTerm[] argsthrows Exception {
        if (args.length > 0) { // add all arguments as annotations in the exception
            // find message
            Term smsg = null;
            String msg = "fail";
            for (Term targs) {
                if (t.isStructure() && ((Structure)t).getFunctor().equals("error_msg")) {
                    smsg = t;
                    Term tm = ((Structure)t).getTerm(0);
                    if (tm.isString())
                        msg = ((StringTerm)tm).getString();
                    else
                        msg = tm.toString();
                    break;
                }
            }
            
            JasonException e = new JasonException(msg);
            for (Term targs) {
                if (t != smsg)
                    e.addErrorAnnot(t);
            }
            throw e;
        }
        return false;
    }
New to GrepCode? Check out our FAQ X