I don't know a way to check whether the default was used or the value was set by the user (the both look the same from reflection), but somehow I have to know this to be able to select exception from "throws" or from the annotation.