{"record":{"id":"c091ab089ddfdd32","repo":"d2phap/ImageGlass","slug":"ordertypestr-is-not-a-valid-loading-order","errorCode":null,"errorMessage":"'{orderTypeStr}' is not a valid loading order.\n\n----------\n👉🏼 Method: IG_SetLoadingOrderType","messagePattern":"'(.+?)' is not a valid loading order\\.\n\n----------\n👉🏼 Method: IG_SetLoadingOrderType","errorType":"validation","errorClass":"ArgumentException","httpStatus":null,"severity":"error","filePath":"source/ImageGlass.Lib/Common/ServiceProviders/AppAPIs/AppAPIProvider.cs","lineNumber":1563,"sourceCode":"    /// Sets the image loading order value.\n    /// </summary>\n    public static void IG_SetLoadingOrderBy(ImageOrderBy orderBy)\n    {\n        if (orderBy == Core.Config.ImageLoadingOrder) return;\n\n        Core.Config.ImageLoadingOrder = orderBy;\n        IG_ReloadList();\n    }\n\n\n    /// <summary>\n    /// Sets the image loading order value.\n    /// </summary>\n    public void IG_SetLoadingOrderType(string? orderTypeStr)\n    {\n        if (!Enum.TryParse<ImageOrderType>(orderTypeStr, out var orderType))\n        {\n            throw new ArgumentException($\"\"\"\n                '{orderTypeStr}' is not a valid loading order.\n\n                ----------\n                👉🏼 Method: {nameof(IG_SetLoadingOrderType)}\n                \"\"\",\n                nameof(orderTypeStr));\n        }\n\n        IG_SetLoadingOrderType(orderType);\n    }\n\n\n    /// <summary>\n    /// Sets the image loading order value.\n    /// </summary>\n    public static void IG_SetLoadingOrderType(ImageOrderType orderType)\n    {\n        if (orderType == Core.Config.ImageLoadingOrderType) return;","sourceCodeStart":1545,"sourceCodeEnd":1581,"githubUrl":"https://github.com/d2phap/ImageGlass/blob/4a3c4feceffc5a8bb5e56ba836509634aaae47a9/source/ImageGlass.Lib/Common/ServiceProviders/AppAPIs/AppAPIProvider.cs#L1545-L1581","documentation":"Thrown by the string overload of IG_SetLoadingOrderType when Enum.TryParse<ImageOrderType>(orderTypeStr) fails. ImageOrderType has only two members, case-insensitively parsed: Asc and Desc. Any other string raises ArgumentException.","triggerScenarios":"Calling IG_SetLoadingOrderType(string) with 'ascending'/'descending', 'a'/'d', '1'/'0' as a non-numeric label, 'up'/'down', or any value other than Asc/Desc.","commonSituations":"Config authored with a long form ('ascending'); user types a short alias; legacy v9 name; trailing whitespace.","solutions":["Use exactly 'Asc' or 'Desc' (case-insensitive).","Validate with Enum.TryParse<ImageOrderType> upstream and call the typed overload.","Map common aliases ('ascending' -> Asc, 'descending' -> Desc) before calling."],"exampleFix":"// before\napi.IG_SetLoadingOrderType(userInput);\n\n// after\nif (Enum.TryParse<ImageOrderType>(userInput?.Trim(), true, out var orderType))\n{\n    api.IG_SetLoadingOrderType(orderType);\n}","handlingStrategy":"validation","validationCode":"if (!Enum.TryParse<ImageOrderType>(orderTypeStr?.Trim(), true, out var orderType))\n    throw new ArgumentException($\"Unknown order type '{orderTypeStr}'.\");\napi.IG_SetLoadingOrderType(orderType);","typeGuard":"static bool IsValidOrderType(string? s) => Enum.TryParse<ImageOrderType>(s?.Trim(), true, out _);","tryCatchPattern":"try { api.IG_SetLoadingOrderType(orderTypeStr); }\ncatch (ArgumentException ex) when (ex.ParamName == nameof(orderTypeStr))\n{ /* valid: Asc, Desc */ }","preventionTips":["Use exactly 'Asc' or 'Desc'.","Map 'ascending'/'descending' upstream.","Validate with Enum.TryParse<ImageOrderType> before calling."],"tags":["app-api","sorting","argument-parsing","enum"],"backgroundTag":null,"analyzedSha":"4a3c4feceffc5a8bb5e56ba836509634aaae47a9","analyzedAt":"2026-08-13T16:58:15.523Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}