aiidateam / aiida-pseudo

MIT License
5 stars 8 forks source link

`RecommendedCutoffMixin`: improve error message when element is not in family #85

Closed mbercx closed 3 years ago

mbercx commented 3 years ago

When trying to use the get_recommended_cutoffs method to obtain cutoffs for an element that isn't in the pseudo family, the error message is not very clear:

---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-20-f8b0a3e88790> in <module>
----> 1 pseudo_family.get_recommended_cutoffs(elements='Nd')

~/envs/aiida-sirius/code/aiida-pseudo/aiida_pseudo/groups/mixins/cutoffs.py in get_recommended_cutoffs(self, elements, structure, stringency, unit)
    304                 values = {k: U.Quantity(v, current_unit).to(unit).to_tuple()[0] for k, v in cutoffs[element].items()}
    305             else:
--> 306                 values = cutoffs[element]
    307 
    308             cutoffs_wfc.append(values['cutoff_wfc'])

KeyError: 'Nd'

It would be better to catch this KeyError and return ValueError with a more elucidating message.