Изключенията правят наистина лесно писането на код, където изключение, което е изхвърлено, ще наруши инвариантите и ще остави обектите в непоследователно състояние. Те по същество ви принуждават да запомните, че почти всяко твърдение, което правите, може потенциално да изхвърли, и да се справите правилно с това. Правенето на това може да бъде сложно и противоинтуитивно.
Защо изключенията са лоши C++?
Основната причина, поради която изключенията в C++ са толкова често забранени, е че е много трудно да се напише безопасен за изключения C++ код. Безопасност на изключенията не е термин, който чувате много често, но в общи линии означава код, който не се прецаква твърде лошо, ако стекът се развие.
Изключение е лошо?
Трябва да използвате поне с изключение : за да избегнете хващането на системата изключения като SystemExit или KeyboardInterrupt. Ето линк към документи. По принцип трябва да дефинирате изрично изключения , които искате да хванете, за да избегнете улавянето на нежелани изключения . Трябва да знаете какви изключения игнорирате.
Защо изключението catch почти винаги е лоша идея?
catch(Exception) е лоша практика защото улавя и всички RuntimeException (непроверено изключение). Това може да е специфично за Java: Понякога ще трябва да извикате методи, които хвърлят проверени изключения. Ако това е във вашия слой EJB / бизнес логика, имате 2 избора - да ги хванете или да ги хвърлите отново.
Изключенията лоши ли са за производителността?
Заключение. Не се използваизключенията поради потенциалното им въздействие върху производителността е лоша идея. Изключенията помагат да се осигури единен начин за справяне с проблемите по време на изпълнение и помагат за писането на чист код. Трябва обаче да проследите броя на изключенията, които се хвърлят във вашия код.