It&#x27;s not the same as an error return because the NaN propagates through all subsequent calculations.<p>In numerical code very often there are no checks for NaN at all. 
I&#x27;d even go so far to say that a lot of FORTRAN code in use today was written before NaN was introduced. 
I&#x2F;O functions like printf or WRITE treat NaN properly so if something went wrong you end up with the string &quot;NaN&quot; in your output.<p>In rust the checked_... methods that return an Option come close to the NaN behaviour.