Why does the sqlState need to be passed in when we already have a specific derived SQLExcpetion?