InvalidTokenException

非法 token 异常

基本信息

属性 值
路径 com.github.lunatrius.ingameinfo.parser.text.InvalidTokenException
行数 8(本 mod 最短的 Java 文件之一)

全文

package com.github.lunatrius.ingameinfo.parser.text;

public class InvalidTokenException extends Exception {
    public InvalidTokenException(String string) {
        super(string);
    }
}

单行构造

只把传入的 String 交给 Exception(String) 作为消息, 不保留 token 对象、不保留位置。

⚠️ 因此异常消息里的行列信息必须由抛出方手工拼进字符串 —— Tokenizer 持有 Location,可以做到; 但 TextParser 走的是 AlignmentException,那条路径没有位置信息 (见该条目)。

继承 Exception(受检)

所以 Tokenizer.tokenize 必须 throws Exception (它确实这么声明,:18),而 TextParser.load 必须 catch。

⚠️ 没有无参构造,也没有 (String, Throwable) 构造 —— 无法包装底层异常。

抛出方

Tokenizer.tokenize(:18-56)在当前位置 匹配不到任何 Token 的 getPattern() 时抛出。

相关