Sayyiduna Abdullah bin Amr (may Allah be pleased with them both) narrates that a man asked Sayyiduna Adi bin Hatim (may Allah be pleased with him) for something, so he swore that he would not give it to him. Then he said: If I had not heard the Messenger of Allah (peace and blessings be upon him) say: "Whoever swears an oath about something, then sees something better than it, let him offer expiation for his oath and do that which is better," I would never have given it to you. Then he gave it to him.
Hadith Referenceمسند الشهاب / 518
Hadith Gradingمحدثین:صحيح
Hadith Takhrij«صحيح ، وأخرجه مسلم : 1651، وابن ماجه فى «سننه» برقم: 2108، والطيالسي فى «مسنده» برقم: 1120، 1121، 1122، وأحمد فى «مسنده» برقم: 18533»