# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2026, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR , YEAR.
#
# Translators:
# python-doc bot, 2025
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.11\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-23 17:42+0000\n"
"PO-Revision-Date: 2025-09-22 16:51+0000\n"
"Last-Translator: python-doc bot, 2025\n"
"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/"
"teams/5390/pt_BR/)\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % "
"1000000 == 0 ? 1 : 2;\n"
#: ../../tutorial/errors.rst:5
msgid "Errors and Exceptions"
msgstr "Erros e excees"
#: ../../tutorial/errors.rst:7
msgid ""
"Until now error messages haven't been more than mentioned, but if you have "
"tried out the examples you have probably seen some. There are (at least) "
"two distinguishable kinds of errors: *syntax errors* and *exceptions*."
msgstr ""
"At agora mensagens de erro foram apenas mencionadas, mas se voc testou os "
"exemplos, talvez tenha esbarrado em algumas. Existem pelo menos dois tipos "
"distintos de erros: *erros de sintaxe* e *excees*."
#: ../../tutorial/errors.rst:15
msgid "Syntax Errors"
msgstr "Erros de sintaxe"
#: ../../tutorial/errors.rst:17
msgid ""
"Syntax errors, also known as parsing errors, are perhaps the most common "
"kind of complaint you get while you are still learning Python::"
msgstr ""
"Erros de sintaxe, tambm conhecidos como erros de parse, so provavelmente "
"os mais frequentes entre aqueles que ainda esto aprendendo Python::"
#: ../../tutorial/errors.rst:26
msgid ""
"The parser repeats the offending line and displays little 'arrow's pointing "
"at the token in the line where the error was detected. The error may be "
"caused by the absence of a token *before* the indicated token. In the "
"example, the error is detected at the function :func:`print`, since a colon "
"(``':'``) is missing before it. File name and line number are printed so "
"you know where to look in case the input came from a script."
msgstr ""
"O analisador sinttico repete a linha invlida e apresenta uma pequena "
"'seta' apontando para o ponto da linha em que o erro foi detectado. O erro "
"deve ter sido causado pela ausncia do smbolo que *precede* a seta. No "
"exemplo, o erro foi detectado na funo :func:`print`, uma vez que um dois-"
"pontos (``':'``) est faltando antes dela. O nome de arquivo e nmero de "
"linha so exibidos para que voc possa rastrear o erro no texto do script."
#: ../../tutorial/errors.rst:37
msgid "Exceptions"
msgstr "Excees"
#: ../../tutorial/errors.rst:39
msgid ""
"Even if a statement or expression is syntactically correct, it may cause an "
"error when an attempt is made to execute it. Errors detected during "
"execution are called *exceptions* and are not unconditionally fatal: you "
"will soon learn how to handle them in Python programs. Most exceptions are "
"not handled by programs, however, and result in error messages as shown "
"here::"
msgstr ""
"Mesmo que um comando ou expresso estejam sintaticamente corretos, talvez "
"ocorra um erro na hora de sua execuo. Erros detectados durante a execuo "
"so chamados *excees* e no so necessariamente fatais: logo veremos como "
"trat-las em programas Python. A maioria das excees no so tratadas pelos "
"programas e acabam resultando em mensagens de erro::"
#: ../../tutorial/errors.rst:58
msgid ""
"The last line of the error message indicates what happened. Exceptions come "
"in different types, and the type is printed as part of the message: the "
"types in the example are :exc:`ZeroDivisionError`, :exc:`NameError` and :exc:"
"`TypeError`. The string printed as the exception type is the name of the "
"built-in exception that occurred. This is true for all built-in exceptions, "
"but need not be true for user-defined exceptions (although it is a useful "
"convention). Standard exception names are built-in identifiers (not reserved "
"keywords)."
msgstr ""
"A ltima linha da mensagem de erro indica o que aconteceu. Excees surgem "
"com diferentes tipos, e o tipo exibido como parte da mensagem: os tipos no "
"exemplo so :exc:`ZeroDivisionError`, :exc:`NameError` e :exc:`TypeError`. A "
"string exibida como sendo o tipo da exceo o nome da exceo embutida que "
"ocorreu. Isso verdade para todas excees pr-definidas em Python, mas no "
" necessariamente verdade para excees definidas pelo usurio (embora seja "
"uma conveno til). Os nomes das excees padres so identificadores "
"embutidos (no palavras reservadas)."
#: ../../tutorial/errors.rst:66
msgid ""
"The rest of the line provides detail based on the type of exception and what "
"caused it."
msgstr ""
"O resto da linha um detalhamento que depende do tipo da exceo ocorrida e "
"sua causa."
#: ../../tutorial/errors.rst:69
msgid ""
"The preceding part of the error message shows the context where the "
"exception occurred, in the form of a stack traceback. In general it contains "
"a stack traceback listing source lines; however, it will not display lines "
"read from standard input."
msgstr ""
"A parte anterior da mensagem de erro apresenta o contexto onde ocorreu a "
"exceo. Essa informao denominada *stack traceback* (situao da pilha "
"de execuo). Em geral, contm uma lista de linhas do cdigo-fonte, sem "
"apresentar, no entanto, linhas lidas da entrada padro."
#: ../../tutorial/errors.rst:74
msgid ""
":ref:`bltin-exceptions` lists the built-in exceptions and their meanings."
msgstr ""
":ref:`bltin-exceptions` lista as excees pr-definidas e seus significados."
#: ../../tutorial/errors.rst:80
msgid "Handling Exceptions"
msgstr "Tratamento de excees"
#: ../../tutorial/errors.rst:82
msgid ""
"It is possible to write programs that handle selected exceptions. Look at "
"the following example, which asks the user for input until a valid integer "
"has been entered, but allows the user to interrupt the program (using :kbd:"
"`Control-C` or whatever the operating system supports); note that a user-"
"generated interruption is signalled by raising the :exc:`KeyboardInterrupt` "
"exception. ::"
msgstr ""
" possvel escrever programas que tratam excees especficas. Observe o "
"exemplo seguinte, que pede dados ao usurio at que um inteiro vlido seja "
"fornecido, ainda permitindo que o programa seja interrompido (utilizando :"
"kbd:`Control-C` ou seja l o que o sistema operacional suporte); note que "
"uma interrupo gerada pelo usurio ser sinalizada pela exceo :exc:"
"`KeyboardInterrupt`. ::"
#: ../../tutorial/errors.rst:96
msgid "The :keyword:`try` statement works as follows."
msgstr "A instruo :keyword:`try` funciona da seguinte maneira:"
#: ../../tutorial/errors.rst:98
msgid ""
"First, the *try clause* (the statement(s) between the :keyword:`try` and :"
"keyword:`except` keywords) is executed."
msgstr ""
"Primeiramente, a *clusula try* (o conjunto de instrues entre as palavras "
"reservadas :keyword:`try` e :keyword:`except` ) executada."
#: ../../tutorial/errors.rst:101
msgid ""
"If no exception occurs, the *except clause* is skipped and execution of the :"
"keyword:`try` statement is finished."
msgstr ""
"Se nenhuma exceo ocorrer, a *clusula except* ignorada e a execuo da "
"instruo :keyword:`try` finalizada."
#: ../../tutorial/errors.rst:104
msgid ""
"If an exception occurs during execution of the :keyword:`try` clause, the "
"rest of the clause is skipped. Then, if its type matches the exception "
"named after the :keyword:`except` keyword, the *except clause* is executed, "
"and then execution continues after the try/except block."
msgstr ""
"Se ocorrer uma exceo durante a execuo de uma clusula :keyword:`try`, as "
"instrues remanescentes nela so ignoradas. Se o tipo da exceo ocorrida "
"tiver sido previsto em algum :keyword:`except`, essa *clusula except* "
"executada, e ento depois a execuo continua aps o bloco try/except."
#: ../../tutorial/errors.rst:109
msgid ""
"If an exception occurs which does not match the exception named in the "
"*except clause*, it is passed on to outer :keyword:`try` statements; if no "
"handler is found, it is an *unhandled exception* and execution stops with an "
"error message."
msgstr ""
"Se a exceo levantada no corresponder a nenhuma exceo listada na "
"*clusula de exceo*, ela encaminhada a uma instruo :keyword:`try` mais "
"externa. Se no houver nenhum tratador previsto para essa exceo, trata-se "
"de uma *exceo no tratada* e a execuo do programa termina com uma "
"mensagem de erro."
#: ../../tutorial/errors.rst:113
msgid ""
"A :keyword:`try` statement may have more than one *except clause*, to "
"specify handlers for different exceptions. At most one handler will be "
"executed. Handlers only handle exceptions that occur in the corresponding "
"*try clause*, not in other handlers of the same :keyword:`!try` statement. "
"An *except clause* may name multiple exceptions as a parenthesized tuple, "
"for example::"
msgstr ""
"A instruo :keyword:`try` pode ter uma ou mais *clusula de exceo*, para "
"especificar mltiplos tratadores para diferentes excees. No mximo um "
"nico tratador ser executado. Tratadores s so sensveis s excees "
"levantadas no interior da *clusula de tentativa*, e no s que tenham "
"ocorrido no interior de outro tratador numa mesma instruo :keyword:`!try`. "
"Uma *clusula de exceo* pode ser sensvel a mltiplas excees, desde que "
"as especifique em uma tupla, por exemplo::"
#: ../../tutorial/errors.rst:122
msgid ""
"A class in an :keyword:`except` clause is compatible with an exception if it "
"is the same class or a base class thereof (but not the other way around --- "
"an *except clause* listing a derived class is not compatible with a base "
"class). For example, the following code will print B, C, D in that order::"
msgstr ""
"Uma classe em uma clusula :keyword:`except` compatvel com uma exceo se "
"ela da mesma classe ou de uma classe base desta (mas o contrrio no "
"vlido --- uma *clusula de exceo* listando uma classe derivada no "
"compatvel com uma classe base). Por exemplo, o seguinte cdigo ir mostrar "
"B, C, D nesta ordem::"
#: ../../tutorial/errors.rst:146
msgid ""
"Note that if the *except clauses* were reversed (with ``except B`` first), "
"it would have printed B, B, B --- the first matching *except clause* is "
"triggered."
msgstr ""
"Se a ordem das *clusulas de exceo* fosse invertida (``except B`` no "
"incio), seria exibido B, B, B --- somente a primeira *clusula de exceo* "
"compatvel ativada."
#: ../../tutorial/errors.rst:149
msgid ""
"When an exception occurs, it may have associated values, also known as the "
"exception's *arguments*. The presence and types of the arguments depend on "
"the exception type."
msgstr ""
"Quando uma exceo ocorre, ela pode estar associada a valores chamados "
"*argumentos* da exceo. A presena e os tipos dos argumentos dependem do "
"tipo da exceo."
#: ../../tutorial/errors.rst:153
msgid ""
"The *except clause* may specify a variable after the exception name. The "
"variable is bound to the exception instance which typically has an ``args`` "
"attribute that stores the arguments. For convenience, builtin exception "
"types define :meth:`~object.__str__` to print all the arguments without "
"explicitly accessing ``.args``. ::"
msgstr ""
"A *clusula except* pode especificar uma varivel aps o nome da exceo. A "
"varivel est vinculada instncia de exceo que normalmente possui um "
"atributo ``args`` que armazena os argumentos. Por convenincia, os tipos de "
"exceo embutidos definem :meth:`~object.__str__` para exibir todos os "
"argumentos sem acessar explicitamente ``.args``. ::"
#: ../../tutorial/errors.rst:176
msgid ""
"The exception's :meth:`~object.__str__` output is printed as the last part "
"('detail') of the message for unhandled exceptions."
msgstr ""
"A sada :meth:`~object.__str__` da exceo exibida como a ltima parte "
"(\"detalhe\") da mensagem para excees no tratadas."
#: ../../tutorial/errors.rst:179
msgid ""
":exc:`BaseException` is the common base class of all exceptions. One of its "
"subclasses, :exc:`Exception`, is the base class of all the non-fatal "
"exceptions. Exceptions which are not subclasses of :exc:`Exception` are not "
"typically handled, because they are used to indicate that the program should "
"terminate. They include :exc:`SystemExit` which is raised by :meth:`sys."
"exit` and :exc:`KeyboardInterrupt` which is raised when a user wishes to "
"interrupt the program."
msgstr ""
":exc:`BaseException` a classe base comum de todas as excees. Uma de suas "
"subclasses, :exc:`Exception`, a classe base de todas as excees no "
"fatais. Excees que no so subclasses de :exc:`Exception` normalmente no "
"so tratadas, pois so usadas para indicar que o programa deve terminar. "
"Elas incluem :exc:`SystemExit`, levantada por :meth:`sys.exit`, e :exc:"
"`KeyboardInterrupt`, levantada quando um usurio deseja interromper o "
"programa."
#: ../../tutorial/errors.rst:187
msgid ""
":exc:`Exception` can be used as a wildcard that catches (almost) everything. "
"However, it is good practice to be as specific as possible with the types of "
"exceptions that we intend to handle, and to allow any unexpected exceptions "
"to propagate on."
msgstr ""
":exc:`Exception` pode ser usada como um curinga que captura (quase) tudo. No "
"entanto, uma boa prtica ser o mais especfico possvel quanto aos tipos "
"de excees que pretendemos manipular, evitando que quaisquer excees "
"inesperadas se propaguem."
#: ../../tutorial/errors.rst:192
msgid ""
"The most common pattern for handling :exc:`Exception` is to print or log the "
"exception and then re-raise it (allowing a caller to handle the exception as "
"well)::"
msgstr ""
"O padro mais comum para lidar com :exc:`Exception` imprimir ou registrar "
"a exceo e ento levant-la novamente (permitindo que um chamador lide com "
"a exceo tambm)::"
#: ../../tutorial/errors.rst:210
msgid ""
"The :keyword:`try` ... :keyword:`except` statement has an optional *else "
"clause*, which, when present, must follow all *except clauses*. It is "
"useful for code that must be executed if the *try clause* does not raise an "
"exception. For example::"
msgstr ""
"A construo :keyword:`try` ... :keyword:`except` possui uma *clusula else* "
"opcional que, quando presente, deve ser colocada aps todas as demais "
"clusulas. til para um cdigo que precisa ser executado se nenhuma "
"exceo foi levantada. Por exemplo::"
#: ../../tutorial/errors.rst:224
msgid ""
"The use of the :keyword:`!else` clause is better than adding additional code "
"to the :keyword:`try` clause because it avoids accidentally catching an "
"exception that wasn't raised by the code being protected by the :keyword:`!"
"try` ... :keyword:`!except` statement."
msgstr ""
" melhor usar a clusula :keyword:`!else` do que colocar cdigo adicional na "
"clusula :keyword:`try`, porque ela evita que, acidentalmente, seja tratada "
"uma exceo que no foi levantada pelo cdigo protegido pela construo com "
"as instrues :keyword:`!try` ... :keyword:`!except`."
#: ../../tutorial/errors.rst:229
msgid ""
"Exception handlers do not handle only exceptions that occur immediately in "
"the *try clause*, but also those that occur inside functions that are called "
"(even indirectly) in the *try clause*. For example::"
msgstr ""
"Os manipuladores de exceo no tratam apenas excees que ocorrem "
"imediatamente na *clusula try*, mas tambm as que ocorrem dentro de funes "
"chamadas (mesmo indiretamente) na *clusula try*. Por exemplo::"
#: ../../tutorial/errors.rst:247
msgid "Raising Exceptions"
msgstr "Levantando excees"
#: ../../tutorial/errors.rst:249
msgid ""
"The :keyword:`raise` statement allows the programmer to force a specified "
"exception to occur. For example::"
msgstr ""
"A instruo :keyword:`raise` permite ao programador forar a ocorrncia de "
"um determinado tipo de exceo. Por exemplo::"
#: ../../tutorial/errors.rst:257
msgid ""
"The sole argument to :keyword:`raise` indicates the exception to be raised. "
"This must be either an exception instance or an exception class (a class "
"that derives from :class:`BaseException`, such as :exc:`Exception` or one of "
"its subclasses). If an exception class is passed, it will be implicitly "
"instantiated by calling its constructor with no arguments::"
msgstr ""
"O argumento de :keyword:`raise` indica a exceo a ser levantada. Esse "
"argumento deve ser uma instncia de exceo ou uma classe de exceo (uma "
"classe que deriva de :class:`BaseException`, tal como :exc:`Exception` ou "
"uma de suas subclasses). Se uma classe de exceo for passada, ser "
"implicitamente instanciada invocando o seu construtor sem argumentos::"
#: ../../tutorial/errors.rst:265
msgid ""
"If you need to determine whether an exception was raised but don't intend to "
"handle it, a simpler form of the :keyword:`raise` statement allows you to re-"
"raise the exception::"
msgstr ""
"Caso voc precise determinar se uma exceo foi levantada ou no, mas no "
"quer manipular o erro, uma forma simples de instruo :keyword:`raise` "
"permite que voc levante-a novamente::"
#: ../../tutorial/errors.rst:284
msgid "Exception Chaining"
msgstr "Encadeamento de excees"
#: ../../tutorial/errors.rst:286
msgid ""
"If an unhandled exception occurs inside an :keyword:`except` section, it "
"will have the exception being handled attached to it and included in the "
"error message::"
msgstr ""
"Se uma exceo no tratada ocorrer dentro de uma seo :keyword:`except`, "
"ela ter a exceo sendo tratada anexada a ela e includa na mensagem de "
"erro::"
#: ../../tutorial/errors.rst:305
msgid ""
"To indicate that an exception is a direct consequence of another, the :"
"keyword:`raise` statement allows an optional :keyword:`from` clause::"
msgstr ""
"Para indicar que uma exceo uma consequncia direta de outra, a "
"instruo :keyword:`raise` permite uma clusula opcional :keyword:`from "
"`::"
#: ../../tutorial/errors.rst:311
msgid "This can be useful when you are transforming exceptions. For example::"
msgstr ""
"Isso pode ser til quando voc est transformando excees. Por exemplo::"
#: ../../tutorial/errors.rst:332
msgid ""
"It also allows disabling automatic exception chaining using the ``from "
"None`` idiom::"
msgstr ""
"Ele tambm permite desabilitar o encadeamento automtico de excees usando "
"o idioma ``from None``::"
#: ../../tutorial/errors.rst:344
msgid ""
"For more information about chaining mechanics, see :ref:`bltin-exceptions`."
msgstr ""
"Para mais informaes sobre os mecanismos de encadeamento, veja :ref:`bltin-"
"exceptions`."
#: ../../tutorial/errors.rst:350
msgid "User-defined Exceptions"
msgstr "Excees definidas pelo usurio"
#: ../../tutorial/errors.rst:352
msgid ""
"Programs may name their own exceptions by creating a new exception class "
"(see :ref:`tut-classes` for more about Python classes). Exceptions should "
"typically be derived from the :exc:`Exception` class, either directly or "
"indirectly."
msgstr ""
"Programas podem definir novos tipos de excees, atravs da criao de uma "
"nova classe (veja :ref:`tut-classes` para mais informaes sobre classes "
"Python). Excees devem ser derivadas da classe :exc:`Exception`, direta ou "
"indiretamente."
#: ../../tutorial/errors.rst:356
msgid ""
"Exception classes can be defined which do anything any other class can do, "
"but are usually kept simple, often only offering a number of attributes that "
"allow information about the error to be extracted by handlers for the "
"exception."
msgstr ""
"As classes de exceo podem ser definidas para fazer qualquer coisa que "
"qualquer outra classe pode fazer, mas geralmente so mantidas simples, "
"geralmente oferecendo apenas um nmero de atributos que permitem que "
"informaes sobre o erro sejam extradas por manipuladores para a exceo."
#: ../../tutorial/errors.rst:360
msgid ""
"Most exceptions are defined with names that end in \"Error\", similar to the "
"naming of the standard exceptions."
msgstr ""
" comum que novas excees sejam definidas com nomes terminando em "
"\"Error\", semelhante a muitas excees embutidas."
#: ../../tutorial/errors.rst:363
msgid ""
"Many standard modules define their own exceptions to report errors that may "
"occur in functions they define."
msgstr ""
"Muitos mdulos padro definem suas prprias excees para relatar erros que "
"podem ocorrer nas funes que definem."
#: ../../tutorial/errors.rst:370
msgid "Defining Clean-up Actions"
msgstr "Definindo aes de limpeza"
#: ../../tutorial/errors.rst:372
msgid ""
"The :keyword:`try` statement has another optional clause which is intended "
"to define clean-up actions that must be executed under all circumstances. "
"For example::"
msgstr ""
"A instruo :keyword:`try` possui outra clusula opcional, cuja finalidade "
"permitir a implementao de aes de limpeza, que sempre devem ser "
"executadas independentemente da ocorrncia de excees. Como no exemplo::"
#: ../../tutorial/errors.rst:386
msgid ""
"If a :keyword:`finally` clause is present, the :keyword:`!finally` clause "
"will execute as the last task before the :keyword:`try` statement completes. "
"The :keyword:`!finally` clause runs whether or not the :keyword:`!try` "
"statement produces an exception. The following points discuss more complex "
"cases when an exception occurs:"
msgstr ""
"Se uma clusula :keyword:`finally` estiver presente, a clusula :keyword:`!"
"finally` ser executada como a ltima tarefa antes da concluso da "
"instruo :keyword:`try`. A clusula :keyword:`!finally` executa se a "
"instruo :keyword:`!try` produz uma exceo. Os pontos a seguir discutem "
"casos mais complexos quando ocorre uma exceo:"
#: ../../tutorial/errors.rst:392
msgid ""
"If an exception occurs during execution of the :keyword:`!try` clause, the "
"exception may be handled by an :keyword:`except` clause. If the exception is "
"not handled by an :keyword:`!except` clause, the exception is re-raised "
"after the :keyword:`!finally` clause has been executed."
msgstr ""
"Se ocorrer uma exceo durante a execuo da clusula :keyword:`!try`, a "
"exceo poder ser tratada por uma clusula :keyword:`except`. Se a exceo "
"no for tratada por uma clusula :keyword:`!except`, a exceo ser gerada "
"novamente aps a execuo da clusula :keyword:`!finally`."
#: ../../tutorial/errors.rst:398
msgid ""
"An exception could occur during execution of an :keyword:`!except` or :"
"keyword:`!else` clause. Again, the exception is re-raised after the :keyword:"
"`!finally` clause has been executed."
msgstr ""
"Uma exceo pode ocorrer durante a execuo de uma clusula :keyword:`!"
"except` ou :keyword:`!else`. Novamente, a exceo re-levantada depois que :"
"keyword:`!finally` executada."
#: ../../tutorial/errors.rst:402
msgid ""
"If the :keyword:`!finally` clause executes a :keyword:`break`, :keyword:"
"`continue` or :keyword:`return` statement, exceptions are not re-raised."
msgstr ""
"Se a clusula :keyword:`!finally` executa uma instruo :keyword:`break`, :"
"keyword:`continue` ou :keyword:`return`, as excees no so levantadas "
"novamente."
#: ../../tutorial/errors.rst:406
msgid ""
"If the :keyword:`!try` statement reaches a :keyword:`break`, :keyword:"
"`continue` or :keyword:`return` statement, the :keyword:`!finally` clause "
"will execute just prior to the :keyword:`!break`, :keyword:`!continue` or :"
"keyword:`!return` statement's execution."
msgstr ""
"Se a instruo :keyword:`!try` atingir uma instruo :keyword:`break`, :"
"keyword:`continue` ou :keyword:`return`, a clusula :keyword:`!finally` ser "
"executada imediatamente antes da execuo da instruo :keyword:`!break`, :"
"keyword:`!continue` ou :keyword:`!return`."
#: ../../tutorial/errors.rst:412
msgid ""
"If a :keyword:`!finally` clause includes a :keyword:`!return` statement, the "
"returned value will be the one from the :keyword:`!finally` clause's :"
"keyword:`!return` statement, not the value from the :keyword:`!try` "
"clause's :keyword:`!return` statement."
msgstr ""
"Se uma clusula :keyword:`!finally` incluir uma instruo :keyword:`!"
"return`, o valor retornado ser aquele da instruo :keyword:`!return` da "
"clusula :keyword:`!finally`, no o valor da instruo :keyword:`!return` da "
"clusula :keyword:`!try`."
#: ../../tutorial/errors.rst:418
msgid "For example::"
msgstr "Por exemplo::"
#: ../../tutorial/errors.rst:429
msgid "A more complicated example::"
msgstr "Um exemplo mais complicado::"
#: ../../tutorial/errors.rst:454
msgid ""
"As you can see, the :keyword:`finally` clause is executed in any event. "
"The :exc:`TypeError` raised by dividing two strings is not handled by the :"
"keyword:`except` clause and therefore re-raised after the :keyword:`!"
"finally` clause has been executed."
msgstr ""
"Como voc pode ver, a clusula :keyword:`finally` executada em todos os "
"casos. A exceo :exc:`TypeError` levantada pela diviso de duas strings no "
" tratada pela clusula :keyword:`except` e portanto re-levantada depois "
"que a clusula :keyword:`!finally` executada."
#: ../../tutorial/errors.rst:459
msgid ""
"In real world applications, the :keyword:`finally` clause is useful for "
"releasing external resources (such as files or network connections), "
"regardless of whether the use of the resource was successful."
msgstr ""
"Em aplicao do mundo real, a clusula :keyword:`finally` til para "
"liberar recursos externos (como arquivos ou conexes de rede), "
"independentemente do uso do recurso ter sido bem sucedido ou no."
#: ../../tutorial/errors.rst:467
msgid "Predefined Clean-up Actions"
msgstr "Aes de limpeza predefinidas"
#: ../../tutorial/errors.rst:469
msgid ""
"Some objects define standard clean-up actions to be undertaken when the "
"object is no longer needed, regardless of whether or not the operation using "
"the object succeeded or failed. Look at the following example, which tries "
"to open a file and print its contents to the screen. ::"
msgstr ""
"Alguns objetos definem aes de limpeza padres para serem executadas quando "
"o objeto no mais necessrio, independentemente da operao que estava "
"usando o objeto ter sido ou no bem sucedida. Veja o exemplo a seguir, que "
"tenta abrir um arquivo e exibir seu contedo na tela. ::"
#: ../../tutorial/errors.rst:477
msgid ""
"The problem with this code is that it leaves the file open for an "
"indeterminate amount of time after this part of the code has finished "
"executing. This is not an issue in simple scripts, but can be a problem for "
"larger applications. The :keyword:`with` statement allows objects like files "
"to be used in a way that ensures they are always cleaned up promptly and "
"correctly. ::"
msgstr ""
"O problema com esse cdigo que ele deixa o arquivo aberto um perodo "
"indeterminado depois que o cdigo executado. Isso no chega a ser problema "
"em scripts simples, mas pode ser um problema para grandes aplicaes. A "
"palavra reservada :keyword:`with` permite que objetos como arquivos sejam "
"utilizados com a certeza de que sempre sero prontamente e corretamente "
"finalizados. ::"
#: ../../tutorial/errors.rst:487
msgid ""
"After the statement is executed, the file *f* is always closed, even if a "
"problem was encountered while processing the lines. Objects which, like "
"files, provide predefined clean-up actions will indicate this in their "
"documentation."
msgstr ""
"Depois que a instruo executada, o arquivo *f* sempre fechado, mesmo se "
"ocorrer um problema durante o processamento das linhas. Outros objetos que, "
"como arquivos, fornecem aes de limpeza predefinidas as indicaro em suas "
"documentaes."
#: ../../tutorial/errors.rst:495
msgid "Raising and Handling Multiple Unrelated Exceptions"
msgstr "Criando e tratando vrias excees no relacionadas"
#: ../../tutorial/errors.rst:497
msgid ""
"There are situations where it is necessary to report several exceptions that "
"have occurred. This is often the case in concurrency frameworks, when "
"several tasks may have failed in parallel, but there are also other use "
"cases where it is desirable to continue execution and collect multiple "
"errors rather than raise the first exception."
msgstr ""
"Existem situaes em que necessrio relatar vrias excees que ocorreram. "
"Isso geralmente ocorre em estruturas de simultaneidade, quando vrias "
"tarefas podem ter falhado em paralelo, mas tambm h outros casos de uso em "
"que desejvel continuar a execuo e coletar vrios erros em vez de "
"levantar a primeira exceo."
#: ../../tutorial/errors.rst:503
msgid ""
"The builtin :exc:`ExceptionGroup` wraps a list of exception instances so "
"that they can be raised together. It is an exception itself, so it can be "
"caught like any other exception. ::"
msgstr ""
"O :exc:`ExceptionGroup` integrado envolve uma lista de instncias de exceo "
"para que elas possam ser levantadas juntas. uma exceo em si, portanto, "
"pode ser capturada como qualquer outra exceo. ::"
#: ../../tutorial/errors.rst:529
msgid ""
"By using ``except*`` instead of ``except``, we can selectively handle only "
"the exceptions in the group that match a certain type. In the following "
"example, which shows a nested exception group, each ``except*`` clause "
"extracts from the group exceptions of a certain type while letting all other "
"exceptions propagate to other clauses and eventually to be reraised. ::"
msgstr ""
"Usando ``except*`` em vez de ``except``, podemos manipular seletivamente "
"apenas as excees no grupo que correspondem a um determinado tipo. No "
"exemplo a seguir, que mostra um grupo de exceo aninhado, cada clusula "
"``except*`` extrai do grupo excees de um certo tipo enquanto permite que "
"todas as outras excees se propaguem para outras clusulas e eventualmente "
"sejam levantadas novamente. ::"
#: ../../tutorial/errors.rst:572
msgid ""
"Note that the exceptions nested in an exception group must be instances, not "
"types. This is because in practice the exceptions would typically be ones "
"that have already been raised and caught by the program, along the following "
"pattern::"
msgstr ""
"Observe que as excees aninhadas em um grupo de excees devem ser "
"instncias, no tipos. Isso ocorre porque, na prtica, as excees "
"normalmente seriam aquelas que j foram levantadas e capturadas pelo "
"programa, seguindo o seguinte padro::"
#: ../../tutorial/errors.rst:592
msgid "Enriching Exceptions with Notes"
msgstr "Enriquecendo excees com notas"
#: ../../tutorial/errors.rst:594
msgid ""
"When an exception is created in order to be raised, it is usually "
"initialized with information that describes the error that has occurred. "
"There are cases where it is useful to add information after the exception "
"was caught. For this purpose, exceptions have a method ``add_note(note)`` "
"that accepts a string and adds it to the exception's notes list. The "
"standard traceback rendering includes all notes, in the order they were "
"added, after the exception. ::"
msgstr ""
"Quando uma exceo criada para ser levantada, geralmente inicializada "
"com informaes que descrevem o erro ocorrido. H casos em que til "
"adicionar informaes aps a captura da exceo. Para este propsito, as "
"excees possuem um mtodo ``add_note(note)`` que aceita uma string e a "
"adiciona lista de notas da exceo. A renderizao de traceback padro "
"inclui todas as notas, na ordem em que foram adicionadas, aps a exceo. ::"
#: ../../tutorial/errors.rst:615
msgid ""
"For example, when collecting exceptions into an exception group, we may want "
"to add context information for the individual errors. In the following each "
"exception in the group has a note indicating when this error has occurred. ::"
msgstr ""
"Por exemplo, ao coletar excees em um grupo de excees, podemos querer "
"adicionar informaes de contexto para os erros individuais. A seguir, cada "
"exceo no grupo tem uma nota indicando quando esse erro ocorreu. ::"