Само приложение принудительно проектируется так, что вызывающая сторона всегда должна быть готова к тому, что вызов не удастся. Т.е. общение с небезопасным кодом явно отделено от безопасного кода. И заставляет предусматривать решение потенциальных проблем.