Читаоци попут вас помажу у подршци МУО. Када обавите куповину користећи везе на нашем сајту, можда ћемо зарадити провизију за партнере. Опширније.

Руковање грешкама је једна од честих операција у циклусу развоја софтвера. То је кључни аспект доброг програмирања. Го користи једноставан приступ и једноставан за коришћење са својим уграђеним механизмом за руковање грешкама. Заснован је на враћању грешака из функција и метода, што вам омогућава да се фокусирате на функционалност кода која је интуитивна и лака за читање.

Грешке у Го-у рукујете експлицитно, што резултира чврстим оквиром за повратне информације, са могућношћу доследне имплементације логике поновног покушаја. Тхе грешке пакет пружа додатну функционалност за руковање грешкама.

Пакет грешака

Пакет грешака је један од пакета у Го-овој стандардној библиотеци. Пакет пружа једноставне примитиве за руковање грешкама и функционалности за креирање и манипулацију грешкама доследно у Го коду.

Пакет обезбеђује Нова функцију за креирање грешака са прилагођеним порукама о грешци које можете користити на исти начин као било који уграђени тип грешке, као што је

нула и Грешка методом грешка интерфејс.

Тхе грешке пакет такође пружа функционалност за премотавање и одмотавање грешака, метод за тврдње о грешкама.

Можете да увезете грешке пакет са кључном речи импорт. Једноставно наведите име пакета на листи увоза.

увоз"грешке"

Хватање и руковање грешкама у Го

Познавање основног руковања грешкама у Го поставља основу за разумевање грешке пакет. Функције и методе враћају грешке које су праћене ресурсом.

Ево примера руковања грешкама из операције отварања датотеке са уграђеним ос пакет.

пакет главни

увоз (
"фмт"
"ос"
)

фунцглавни() {
фајл, грешка := ос. Отвори("име датотеке.ткт")

ако ерр != нула {
фмт. Принтлн (грешка)
}

// ...
}

Тхе Отвори методом ос пакет је користан када рад са текстуалним датотекама у Го. Отвара датотеку, враћајући отворену инстанцу датотеке и ан грешка.

Вредност грешке може бити нула типа, без грешака. Међутим, можете да проверите да ли је случај без нула и да обрадите грешку ако је присутна. У горњем случају, иф блок штампа грешку.

Можете приступити Грешка метод грешке за издвајање више информација о грешци (обично опис).

ако ерр != нула {
фмт. Принтлн (ерр. Грешка())
}

На пример, ако датотека не постоји, видећете поруку о грешци која изгледа отприлике овако:

Прављење грешака у Го

Можете направити грешке са Нова методом грешке пакет. Овај метод преузима поруку стринга и враћа грешке које су пронађене.

увоз"грешке"

фунцглавни() {
ерр := грешке. Нова("нешто није у реду")

ако ерр != нула {
// код за обраду грешака иде овде
}
}

Тхе главни функција креира нову грешку и обрађује могуће грешке од креирања грешке помоћу ан ако изјава.

Такође можете дефинисати прилагођене грешке у Го. Конвенционални метод користи структуру и функцију грешке за имплементацију структуре засноване на функционалности грешке.

пакет главни

увоз"фмт"

тип цустомЕррор струцт {
инфо низ
}

фунцглавни() {
// пример инстанцирања структуре
ерр := цустомЕррор{
инфо: "Нешто није у реду!",
}

// излаз инстанце структуре
фмт. Принтлн (грешка)
}

Тхе цустомЕррор струцт је нацрт за грешку, а инфо стринг поље ће садржати поруку о грешци.

Ваше функције грешке могу имплементирати цустомЕррор струцт и врати стринг грешке.

фунц(це цустомЕррор)Грешка()низ {
повратак фмт. Спринтф(„Дошло је до прилагођене грешке: %в“, це.инфо)
}

Тхе Грешка методом цустомЕррор струцт враћа стринг користећи Спринтф метод форматирања фмт пакета.

Грешке при премотавању и одмотавању у Го

Можете додати додатне контекстуалне информације грешкама тако што ћете их премотати. Пре свега ћете користити омотане грешке да бисте креирали јасне поруке о грешци ради прецизности у отклањању грешака.

Можете користити Еррорф методом фмт пакет који пружа функционалност за форматирање порука о грешци за омотавање грешака. Тхе Еррорф метода узима глагол форматирања стрингова и стрингова и грешку и враћа умотану грешку.

увоз (
"фмт"
"ос"
)

фунцглавни() {
_, грешка := ос. Отвори("име датотеке.ткт")

ако ерр != нула {
враппедЕрр := фмт. Еррорф(„Грешка при отварању датотеке: %в“, грешка)
фмт. Принтлн (враппедЕрр)
}
}

Тхе главни функција отвара датотеку са ос пакета Отвори метода и обавија грешку методом Еррорф фмт пакет. Затим шаље упаковану грешку на конзолу.

Можете да размотате упаковане грешке у својим програмима помоћу Унврап методом грешке пакет. Тхе Унврап метода узима упаковану грешку и враћа грешку која није омотана.

увоз (
"фмт"
"ос"
"грешке"
)

фунцглавни() {
_, грешка := ос. Отвори("име датотеке.ткт")

ако ерр != нула {
враппедЕрр := фмт. Еррорф(„Грешка при отварању датотеке: %в“, грешка)
унвраппедЕрр := грешке. Размотати (враппедЕрр)
фмт. Принтлн (унвраппедЕрр)
}
}

Тхе главни функција обавија грешку из операције отварања датотеке, а унвраппедЕрр променљива садржи грешку која није омотана.

Евидентирајте своје извештаје о грешкама помоћу ових пакета за евидентирање трећих страна

Мораћете да евидентирате неке грешке за касније прегледе, отклањање грешака и друге операције током процеса развоја апликације. Можете користити зап пакет Убер, Логрус, Зеролог и Лог15 пакети за брзо, структурирано евидентирање.