Fork can fail for lots of different reasons. For example: not enough swap to hold two copies of the process, you've reached the max process for your user or globally, not enough physical memory to complete the fork, you got a signal during the fork call, etc.
It seem naive to me to think that an error can't happen; it's better to die if it does happen than to continue on with possible corruption. If you don't like the aesthetic, then write a wrapper that dies on errors, so you can present clean code.