Basit bir çözüm kullanmak olacaktır exceptions.
Bir hata ki bir kullanıcıya gösterilecek bir şey olurdu oluştuğunda, bir istisna özel bir tür atmak - belki adında UserError
. Bunu atmak zaman durum hata mesajının metnini içermelidir. Hataları bu tür vardır features hangi yararlı bilgiler sunmak (yani var olmayan bir şey silmek için çalıştı - onlar gibi açık birden fazla tarayıcı, varsa olabilir ki)
örneğin:
throw new UserError("That object no longer exists.");
Bir hata kullanıcıdan gizlemek istediğiniz oluştuğunda, belki adında, istisna farklı bir tür atmak InternalError
. Sen log Bu istiyorum ve programın devam etmesine izin, böylece belirli bir hata kullanıcıdan gizlenir olacaktır. Oluyor bir şey engeller ise, genel bir hata mesajı kusmak isteyebilirsiniz. Bunlar olacak bugs ve en kısa sürede onları düzeltmek istiyorum.
örneğin:
throw new InternalError("Failed to connect to remote service");
Hata iletileri tüm istisnası atılır kaynağında (kodlanmış) saklanabilir. Bu mutlaka kötü bir tasarım uygulama değil - gettext, kolayca bu mesajları bütün çevirebilir gibi bir araç kullanıyorsanız.