Yup, libraries should usually let the consumer chose what to do with an error, not crash the program without a choice in the matter. The only real exception is performance critical low level code such as the core of a graphics or audio driver. Though in those cases crashing also often isn’t an option, you just power through and hope things aren’t too screwed up.
We do know we created them. The AI people are currently freaking out about does a single thing, predict text. You can think of LLMs like a hyper advanced auto correct. The main thing that’s exciting is these produce text that looks as if a human wrote it. That’s all. They don’t have any memory, or any persistence whatsoever. That’s why we have to feed it a bunch of the previous text (context) in a “conversation” in order for it to work as convincingly as it does. It cannot and does not remember what you say