function swapTokens(uint256 _amt) internal {
    address[] memory path = new address[](2);
    path[0] = uniswapV2Router.WETH();
    path[1] = address(this);
  IERC20(path[0]).balanceOf(address(this)))
    try uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(
    _amt,
    0,
    path,
    address(this),
    block.timestamp
) {
    emit Debug("Swap success");
} catch Error(string memory reason) {
    emit Debug(reason);
} catch {
    emit Debug("Swap failed: unknown reason");
}
}
这个函数里面的接收的address(this) 要兑换的币也是address(this) 最后执行的时候一直是执行失败的  所以为什么合约地址不能接收自己本身代币的转入?