Avoid throwing in normal path
When real problems throw exceptions, debugging is painful when the normal code path also throws exceptions. Instead, we should use APIs in ways that don't throw.
When real problems throw exceptions, debugging is painful when the normal code path also throws exceptions. Instead, we should use APIs in ways that don't throw.