{"record":{"id":"eaddc98228ca0156","repo":"jackwener/OpenCLI","slug":"no-dblp-venues-matched-query","errorCode":null,"errorMessage":"No dblp venues matched \"${query}\".","messagePattern":"No dblp venues matched \"(.+?)\"\\.","errorType":"exception","errorClass":"EmptyResultError","httpStatus":null,"severity":"warning","filePath":"clis/dblp/venue.js","lineNumber":60,"sourceCode":"    access: 'read',\n    description: 'Search dblp venue registry (conferences / journals) by name or acronym',\n    domain: 'dblp.org',\n    strategy: Strategy.PUBLIC,\n    browser: false,\n    args: [\n        { name: 'query', positional: true, required: true, help: 'Venue name or acronym (e.g. \"ICLR\", \"neural networks\")' },\n        { name: 'limit', type: 'int', default: 20, help: 'Max venues (1-100, single dblp page)' },\n    ],\n    columns: ['rank', 'acronym', 'venue', 'type', 'url'],\n    func: async (args) => {\n        const query = requireQuery(args.query);\n        const limit = requireBoundedInt(args.limit, 20, 100);\n        const path = `/search/venue/api?q=${encodeURIComponent(query)}&format=json&h=${limit}`;\n        const json = await dblpFetchJson(path, 'dblp venue');\n        const hits = json?.result?.hits?.hit;\n        const list = Array.isArray(hits) ? hits : [];\n        if (list.length === 0) {\n            throw new EmptyResultError('dblp venue', `No dblp venues matched \"${query}\".`);\n        }\n        return list.slice(0, limit).map((hit, i) => venueHitToRow(hit, i + 1));\n    },\n});\n","sourceCodeStart":42,"sourceCodeEnd":65,"githubUrl":"https://github.com/jackwener/OpenCLI/blob/49907e53dc3ade5c223ff0c4c2c2785687cec4e6/clis/dblp/venue.js#L42-L65","documentation":"An EmptyResultError raised by the dblp venue command when the venue search API returned HTTP/API 200 but zero hits for the query. It signals a successful search with no matching venues — not a network or API failure.","triggerScenarios":"GET /search/venue/api?q=<query> returns 200 with result.hits.hit absent or an empty list — the venue name is misspelled, too specific, or dblp has no venue matching it.","commonSituations":"Misspelled or abbreviated venue names (e.g. 'NeurIPS' vs dblp's 'NeurIPS' variants); searching a workshop or journal dblp indexes under a different name; extremely niche venues not in dblp.","solutions":["Broaden the query — try a shorter or alternate spelling of the venue name","Check dblp's canonical venue name in a browser at the same search URL","Try the acronym dblp uses (e.g. 'CVPR', 'ICML') instead of the full name","If the venue truly has no dblp entry, search publications instead of venues"],"exampleFix":"// before\nconst json = await dblpFetchJson('/search/venue/api?q=' + encodeURIComponent('Neural Information Processing Systems Conference'), 'dblp venue'); // 0 hits\n// after\nconst json = await dblpFetchJson('/search/venue/api?q=' + encodeURIComponent('NeurIPS'), 'dblp venue');","handlingStrategy":"fallback","validationCode":"const q = query.trim();\nif (!q) throw new Error('Venue query must be non-empty');\n// No pre-call check can guarantee hits; only the response can.\nconst json = await dblpFetchJson(`/search/venue/api?q=${encodeURIComponent(q)}&format=json&h=${limit}`, 'dblp venue');","typeGuard":"function hasHits(body) { return Array.isArray(body?.result?.hits?.hit) && body.result.hits.hit.length > 0; }","tryCatchPattern":"try {\n  const venues = await dblpVenueSearch(query);\n} catch (err) {\n  if (err instanceof EmptyResultError || /No dblp venues matched/.test(err.message)) {\n    console.info('No venues matched; try an acronym (e.g. NeurIPS) or a shorter query.');\n    return [];\n  }\n  throw err;\n}","preventionTips":["Prefer dblp's canonical venue names/acronyms over full formal names","Broaden the query (fewer words) when zero hits return","Check the same query in a browser to confirm dblp has the venue","Fall back to publication search when the venue is not indexed"],"tags":["empty-result","search","dblp","no-results"],"backgroundTag":"empty-search-results","analyzedSha":"49907e53dc3ade5c223ff0c4c2c2785687cec4e6","analyzedAt":"2026-08-29T08:14:47.543Z","schemaVersion":2},"datasetVersion":"2026-08-29T12:17:43.993Z"}