Шта је грешка?
У програмским језицима, ако извршимо неки код на неисправан начин, извршење програма ће бити заустављено поруком и ова порука се назива грешка или изузетак. Постоје одређене врсте грешака у програмском језику из различитих разлога. Неки од њих су следећи:
АссертионЕррор:
Ова врста грешке се јавља када услови тврдње или искази не успеју у коду.
ИмпортЕррор:
Ова грешка се јавља када увеземо неки модул у датотеку и ако тај модул не постоји.
ИндекЕррор:
Појављује се када је за било коју секвенцу њен индекс изван опсега.
КеиЕррор:
Ова грешка се јавља у Питхон-у када не можемо да пронађемо ниједан кључ у речнику.
НамеЕррор:
До ове грешке може доћи када не пронађемо ниједну променљиву у локалном или глобалном опсегу.
Грешка у раду:
Ова грешка ће се појавити када се грешка не може категорисати ни у једном типу.
ИндентатионЕррор:
Када користимо погрешно увлачење у Питхон коду, појавиће се грешка ИндентатионЕррор.
Грешка у систему:
Када постоји интерна грешка, онда ће тумач бити покренут СистемЕррор.
УницодеЕррор:
Када дође до грешке кодирања или декодирања у вези са Уницоде-ом и УницодеЕррор ће се појавити.
ВалуеЕррор:
Када у функцији прослеђујемо исправан аргумент према типу података, али вредност није исправна, онда се грешка која се догодила назива ВалуеЕррор.
шта је хибернација
ЗероДивисионЕррор:
Као што знамо, у математици не можемо ниједан број поделити са нулом јер резултат тежи бесконачности. Дакле, ако смо написали било коју изјаву у вези са дељењем са нулом или по модулу са нулом, онда ће подигнута грешка бити ЗероДивисионЕррор.
ЕОФЕгрешка:
Када користимо функцију инпут() да добијемо улаз из датотеке и дођемо до краја датотеке, онда ће се ова грешка појавити да би означила да смо стигли до краја датотеке и сада не можемо да унос из датотеке.
Овај чланак је углавном посвећен АттрибутеЕррор.
Шта је АттрибутеЕррор?
Ова грешка се јавља у програму када дође до грешке у условљавању у додели атрибута. На пример, ако целобројној променљивој доделимо неку вредност и ако покушамо да користимо било коју функцију низа из те променљиве, то ће подићи АттрибутеЕррор.
Разлог за АттрибутеЕррор у Питхон-у можемо разумети на следећим примерима:
Пример 1:
Када применимо функцију на други тип података што није могуће
a=15 a.append('javatpoint')
Излаз:
Објашњење:
У горњем коду имамо једну целобројну променљиву и иницијализовали смо је са вредношћу 15. Сада, ако користимо функцију додавања на променљивој а, она ће дати АттрибутеЕррор, што каже да не постоји атрибут као додатак у целобројном типу података.
Пример 2:
Постоје шансе за АттрибутеЕррор у погрешном писању атрибута.
string = 'you will learn each coding tutorial from '.fst('Javatpoint') print(string)
Излаз:
Објашњење:
У горњем коду имамо стринг атрибут и примењујемо фст атрибут, тако да ће бити АттрибутеЕррор да овај атрибут не постоји за променљиву.
Пример 3:
Можемо добити АттрибутеЕррор ако покушамо да направимо погрешну референцу за било коју променљиву класе.
class Javatpoint(): def __init__(self): self.var1 = 'This is for JavatPoint' obj = Javatpoint() print(obj.var1) print(obj.var2)
Излаз:
Објашњење:
У горњем коду имамо класу, а постоји и променљива под називом вар1. Креирамо објекат класе и грешком референцирамо погрешну променљиву вар2 те класе која чак и не постоји, тако да ће дефинитивно бити АттрибутеЕррор.
Решење за решавање грешке или изузетка:
У Питхон-у или било ком програмском језику, можемо да користимо руковање изузетком или грешком помоћу наредби три и екцептион.
Пример 4:
class Javatpoint(): def __init__(self): self.var1 = 'This is for javatpoint' obj = Javatpoint() try: print(obj.var1) print(obj.var2) except AttributeError: print('There is no such attribute')
Излаз:
Објашњење:
У горњем коду имамо класу и променљиву под називом вар1. У наредби три покушавамо да референцирамо вар1 и вар2. Моћи ћемо да дереференцирамо вар1 и одштампаћемо изјаву за њу, али ћемо добити АттрибутеЕррор за референцирање вар2. Дакле, програм ће ући у блок осим, а ми ћемо одштампати изјаву која је написана само за услов грешке.