net: use detailedException for formatting errors
net: defer syscall until actually needed
net: cleanup tests for better error messages