id,node_id,number,title,user,state,locked,assignee,milestone,comments,created_at,updated_at,closed_at,author_association,active_lock_reason,draft,pull_request,body,reactions,performed_via_github_app,state_reason,repo,type 1857713530,PR_kwDOAMm_X85YTTNH,8089,WIP: Factor out a function for checking dimension-related errors,20118130,open,0,,,4,2023-08-19T13:35:29Z,2023-09-12T18:59:32Z,,CONTRIBUTOR,,1,pydata/xarray/pulls/8089,"This is a WIP follow-up for #8079 and I think also for #7051. The pattern ```python missing_dims = set(dims) - set(self.dims) if missing_dims: raise ValueError(f""Dimensions {missing_dims} not found in data dimensions {tuple(self.dims)}"") ``` occurs in many methods, with small variations in the way `missing_dims` is calculated, the error message, and also if it's `ValueError` or `KeyError`. So it would make sense to factor it out. But I'm not familiar enough with the context around #7051 to know how to deal with sets vs tuples, so this is just a sketch for now. - [ ] Tests added - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] New functions/methods are listed in `api.rst` ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/8089/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull