В моей программе я читаю и анализирую файл для ресурсов.
Я извлекаю строку, которая представляет тип ресурса, делаю простой оператор if then else, чтобы проверить, соответствует ли он каким-либо известным типам, и выдает ошибку, если это не так:
if(type.toLowerCase() == "spritesheet") {
_type = ResourceType.Spritesheet;
} else if(type.toLowerCase() == "string") {
_type = ResourceType.String;
} else if(type.toLowerCase() == "texture") {
_type = ResourceType.Texture;
} else if(type.toLowerCase() == "num") {
_type = ResourceType.Number;
} else {
throw new Exception("Invalid Resource File - Invalid type: |" + type.toLowerCase() + "|");
}
Игнорируя мое неправильное именование и исключение, не являющееся дескриптором, это утверждение всегда будет последним, даже если тип IS "spritesheet", как считано из файла и т. Д.
java.lang.Exception: Invalid Resource File - Invalid type: |spritesheet|
at Resource.Load(Resource.java:55) //Final else.
Если я установлю type на spritesheet перед этим вызовом, это сработает, поэтому мне интересно, если это какая-то ошибка кодирования или что-то подобное?
Я не проделал большую работу в Java, поэтому я мог упустить что-то простое:)