What does this error mean when doing a pg_restore on a Postgres 9.6.2 database?
The database the dump file was taken from has a certain foreign key constraint defined.  But your target database does not.  Probably because someone went and added it to the dumped database since the last dump.  Since you specified --clean, it is trying to drop all the objects that exist in the dump file from your target database before recreating them.  It is failing, because it doesn't exist in your target database to be dropped.

You can add --if-exists to the restore command.  Or you can remove --exit-on-error from the command, and just ignore the error message you get.