aburtang@lemmy.world to Programmer Humor@lemmy.ml · 3 days agoEvil Oneslemmy.worldimagemessage-square30fedilinkarrow-up1744arrow-down117
arrow-up1727arrow-down1imageEvil Oneslemmy.worldaburtang@lemmy.world to Programmer Humor@lemmy.ml · 3 days agomessage-square30fedilink
minus-squaremasterspace@lemmy.calinkfedilinkEnglisharrow-up4arrow-down2·edit-23 days agoI think that might be user error as I can’t recreate that:
minus-squarepooberbee (they/she)@lemmy.mllinkfedilinkarrow-up2arrow-down1·3 days agoYeah, you would get a runtime error calling that member without checking that it exists.
minus-squaremasterspace@lemmy.calinkfedilinkEnglisharrow-up1·edit-21 day agoBecause that object is of a type where that member may or may not exist. That is literally the exact same behaviour as Java or C#. If I cast or type check it to make sure it’s of type Bar rather than checking for the member explicitly it still works: And when I cast it to Foo it throws a compile time error, not a runtime error:
I think that might be user error as I can’t recreate that:
Yeah, you would get a runtime error calling that member without checking that it exists.
Because that object is of a type where that member may or may not exist. That is literally the exact same behaviour as Java or C#.
If I cast or type check it to make sure it’s of type Bar rather than checking for the member explicitly it still works:
And when I cast it to Foo it throws a compile time error, not a runtime error: