this post was submitted on 20 Dec 2024
945 points (97.2% liked)

Programmer Humor

32716 readers
450 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] masterspace@lemmy.ca 2 points 2 days ago* (last edited 2 days ago) (1 children)

I think that might be user error as I can't recreate that:

[–] pooberbee@lemmy.ml 1 points 1 day ago (1 children)

Yeah, you would get a runtime error calling that member without checking that it exists.

[–] masterspace@lemmy.ca 1 points 13 hours ago* (last edited 13 hours ago)

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: