How can I change material of the existing object in runtime?

I was trying to change the material of the existing object by every iteration of the for-loop.
I did something like the following.

woodfloor_mat = UsdShade.Material(stage.GetPrimAtPath("/World/FloorLooks/WoorFloor"))
marblewhite_mat = UsdShade.Material(stage.GetPrimAtPath("/World/FloorLooks/MarbleWhite"))
marblegreen_mat = UsdShade.Material(stage.GetPrimAtPath("/World/FloorLooks/MarbleGreen"))
floormtl_list = [woodfloor_mat, marblewhite_mat, marblegreen_mat]

for i in range(10):
    curr_floor_mtl = random.choice(floormtl_list)
    floor_prim = stage.GetPrimAtPath('/World/env/staticPlaneActor')
    UsdShade.MaterialBindingAPI(floor_prim).Bind(curr_floor_mtl, UsdShade.Tokens.strongerThanDescendants)

However, it worked until only for the first iteration, and caused the following error in the 2nd loop.

Traceback (most recent call last):
  File "/snap/pycharm-community/222/plugins/python-ce/helpers/pydev/pydevd.py", line 1477, in _exec
    pydev_imports.execfile(file, globals, locals)  # execute the script
  File "/snap/pycharm-community/222/plugins/python-ce/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "/home/urakamiy/robot/isaac-sim-2020.2.2/**/syntheticdata/synthetic_data_generation.py", line 327, in <module>
    main()
  File "/home/urakamiy/robot/isaac-sim-2020.2.2/**/syntheticdata/synthetic_data_generation.py", line 280, in main
    UsdShade.MaterialBindingAPI(floor_prim).Bind(curr_floor_mtl, UsdShade.Tokens.strongerThanDescendants)
pxr.Tf.ErrorException: 
	Error in 'pxrInternal_v0_19__pxrReserved__::UsdRelationship::SetTargets' at line 188 in file /opt/buildagent-share/work/da639afa0455b478/USD/pxr/usd/lib/usd/relationship.cpp : 'Cannot set target <> on relationship </World/env/staticPlaneActor.material:binding>: Cannot map <> to layer @anon:0x7f0d5805c1e0:World0.usd@ via stage's EditTarget'
Exiting OmniKitHelper

I am guessing that I cannot apply MaterialBindingAPI(floor_prim).Bind to the same object many time?
I also tryed to add UsdShade.MaterialBindingAPI(floor_prim).UnbindAllBindings() at end of the iteration but did not help.

How can I bind a different material to the already binded object?

Never mind. I had a typo in my path to the material. And it start working after i fixed it.
However, I am not a big fan of this error message since it does not tell any suggestion that it was a path problem.