1 /* 2 * #%L 3 * prolobjectlink-jpi 4 * %% 5 * Copyright (C) 2019 Prolobjectlink Project 6 * %% 7 * Permission is hereby granted, free of charge, to any person obtaining a copy 8 * of this software and associated documentation files (the "Software"), to deal 9 * in the Software without restriction, including without limitation the rights 10 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 * copies of the Software, and to permit persons to whom the Software is 12 * furnished to do so, subject to the following conditions: 13 * 14 * The above copyright notice and this permission notice shall be included in 15 * all copies or substantial portions of the Software. 16 * 17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 * THE SOFTWARE. 24 * #L% 25 */ 26 package io.github.prolobjectlink.prolog; 27 28 /** 29 * Runtime error raised when occurs one syntax error. Used when Prolog parser 30 * can't continue parsing the string entry because a syntax error is detected 31 * and need report this error to fix the prolog syntax error. 32 * 33 * @author Jose Zalacain 34 * @since 1.0 35 */ 36 public final class SyntaxError extends PrologError { 37 38 private static final long serialVersionUID = 2828526751667597579L; 39 40 /** 41 * Create a syntax error exception passing the prolog text where syntax error 42 * take place. 43 * 44 * @param string prolog text where syntax error take place. 45 * @since 1.0 46 */ 47 public SyntaxError(String string) { 48 super("The string parsed have prolog syntax error: " + string); 49 } 50 51 /** 52 * Create a syntax error exception passing the prolog text where syntax error 53 * take place and the cause. The cause is used if the Prolog error was detected 54 * by other exception type and we need more specific cause in the reported 55 * error. 56 * 57 * @param string prolog text where syntax error take place. 58 * @param cause cause of the prolog error. 59 * @since 1.0 60 */ 61 public SyntaxError(String string, Throwable cause) { 62 super("The string parsed have prolog syntax error: " + string, cause); 63 } 64 65 }