Lowlevel Call Revert all the time

In some situation, we dont want to revert whole tx when call/delegatecall failed.e.g. A user buy 5 NFTS in a NFT Marketplace, one of them can’t be filled but other four can be filled. If low-level call revert when one of them failed, that situation cant be achived.

I test the low-level call function, and found it will revert instead of get the error info.

let mut res = starknet::call_contract_syscall(
                address, selector!("transferFrom"), call_data.span()
            )
                .unwrap_syscall();```