This repository has been archived by the owner on Nov 26, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
LSW::v4::Abort
Ernesto Luis (aka Lohkdesgds Lhuminury) edited this page Feb 29, 2020
·
1 revision
LSW::v4::Abort
- Arquivo:
"abort/abort.h"
- Tipo:
independente
Abort é uma classe de "abort", como o próprio nome sugere. Muitas partes do código podem causar erros se usadas de alguma maneira indesejada ou não planejada, ou até mesmo o sistema pode bloquear acesso a uma pasta ou arquivo por exemplo. Em situações como essa diversas partes do código fazem throw Abort::abort
com os argumentos detalhados a seguir:
Abort::Abort(std::string, std::string, abort_level, std::function<void(void)>);
- A primeira
std::string
é chamada pelo MACRO__FUNCSIG__
do Visual Studio. Dessa maneira é possível saber facilmente de onde veio o problema, já que ela descreve o caminho da função por completo. - A segunda
std::string
é um texto explicando qual foi o problema. Isso é escrito por mim no código para facilitar ainda mais a compreensão do problema. -
O
abort_level
é umenum class
com os valoresGIVEUP
,WARN
ouFATAL_ERROR
.GIVEUP
é usado quando algo acontece e não tem como o código sair de lá, mas não necessariamente precisa fechar o jogo (pode continuar mesmo com o erro, se quiser, em geral).WARN
é semelhante aoGIVEUP
, mas geralmente é para destacar que algo não está funcionando como previsto, como lag no programa ou coisas semelhantes. O programa em si ainda pode prosseguir na maioria das vezes, mas talvez tenham efeitos colaterais, como não pegar o movimento do mouse acontecendo naquela hora ou não perceber alguma outra coisaFATAL_ERROR
é o pior de todos. Se deu isso, você tem que terminar o programa. Se tentar continuar nada é garantido. Geralmente esse erro acontece quando por exemplo ele não consegue carregar uma textura, criar uma tela, criar as threads necessárias pro programa rodar e por aí vai.
std::function<void(void)>
é uma função auxiliar que pode ser definida se alguma coisa tenha que ser feita depois do problema, talvez fechar um arquivo ou terminar um processo.
Os itens acima podem ser obtidos ou usados facilmente num catch
com as funções getWhereFrom()
, getDetails()
, getLevel()
e runFunctionIfAny()
.
- LSW: Biblioteca
- Abort
- Core
- Download
- Camera
- Presence
- Sprite
- Entity
- Text
- BubblesFX
- LiningFX
- SHA256
- Logger
- Button
- Slider
- connection_core
- connection_each
- connection_host
- Launch
- Mixer
- Track
- Database
- Display
- SuperMap
- SmartTimer
- ResourceOf
- CustomThread
- Shared