I am currently stuck in the flail throwing part and I can only catch it randomly. Do I have to hold the left mouse and catch it? or do i have to click at the right moment or what?
You just have to hold the left button and let the solid part of the weapon touch you, not just the chain. You'll then catch and equip the weapon.
More generally, if you have a weapon selected, and hold your left click, you can catch items that touch you or your weapon. You can do this with weapon that you dropped, that enemy dropped, armor and throwing blades.