Тест по основам программирования на Python с ответами

Тема 8. Исключения, обработка ошибок

0

Как обработать исключение в Python?

try {} catch {}

try: ... except:

begin ... rescue

handle ... end

Как поймать только ZeroDivisionError?

except Exception:

except ZeroDivisionError:

except all:

except ZeroDiv:

Как получить текст ошибки?

e.text

str(e)

e.message

e.error()

Как поймать несколько исключений?

except (ValueError,ZeroDivisionError):

except ValueError|ZeroDivisionError:

except ValueError, ZeroDivisionError:

Что делает finally блок?

выполняется только при ошибке

выполняется всегда

завершает программу

создаёт исключение

Как сгенерировать исключение вручную?

raise Exception()

raise Exception()

throw Exception()

error Exception()

Как поймать любую ошибку?

except Error:

except Exception:

except all:

except:

Как вывести traceback ошибки?

print(traceback)

import traceback; traceback.print_exc()

traceback.show()

print_exc()

Как определить пользовательское исключение?

class MyError: Exception

class MyError(Exception): pass

exception MyError

MyError = Exception

Что делает assert x>0?

проверяет и исправляет x

вызывает AssertionError, если x≤0

ничего

выводит сообщение

Как обработать несколько блоков except?

except: except:

try: ... except ValueError: ... except TypeError:

try: ... except(ValueError,TypeError):

try: ... except all:

Как завершить программу с ошибкой?

exit(0)

sys.exit("Error")

quit()

stop()

Что делает raise без аргументов в except?

создаёт новый exception

повторно вызывает текущее исключение

завершает программу

игнорирует исключение

Как поймать ошибки при делении на ноль?

except Exception:

except ZeroDivisionError:

except DivideError:

except ArithmeticError:

Как выполнить код, даже если ошибка произошла?

except

try

finally

raise

Как проверить тип исключения?

e.type

type(e)

e.class

e.kind

Как получить имя исключения?

e.name

e.class.name

e.type

e.id

Что делает блок else в обработке ошибок?

выполняется всегда

выполняется, если исключения не произошло

выполняется только при ошибке

завершает программу

Как поймать все ошибки, кроме KeyboardInterrupt?

except Exception:

except KeyboardInterrupt:

except Exception as e: ... (KeyboardInterrupt отдельно)

except all:

Как выбросить исключение с сообщением "Error"?

throw "Error"

raise Exception("Error")

error("Error")

fail("Error")

Что делает try блок?

завершает программу

выполняет код, который может вызвать исключение

создаёт исключение

игнорирует ошибки

Как использовать несколько except для одного try?

except ValueError & TypeError:

except ValueError: ... except TypeError:

except(ValueError,TypeError):

except ValueError|TypeError:

Что выведет код:

python
try: x = 1/0 except ZeroDivisionError: print("Error")

Error

0

Exception

1

Как поймать конкретное сообщение ошибки?

str(e)

str(e)

e.msg

e.text

Как завершить программу при возникновении ошибки?

raise

sys.exit("Error")

stop()

end()

Как отловить ошибки при работе с файлами?

except FileError:

except IOError:

except FileNotFound:

except Error:

Как безопасно открыть файл и обработать ошибки?

f = open("file")

try: f = open("file") ... except IOError: ... finally: f.close()

open("file") except

with open("file") except IOError:

Как проверить, поймана ли ошибка?

if error:

except ... as e:

try ... catch e

check(error)

Как записать traceback в файл?

traceback.save("file")

import traceback; traceback.print_exc(file=f)

print(traceback,file=f)

log(traceback)

Как пробросить исключение в другой блок?

throw e

raise

raise e

send(e)

Как обработать деление на ноль и другие ошибки отдельно?

except Exception:

except all:

except ZeroDivisionError: ... except Exception:

except ArithmeticError:

Как создать пользовательское исключение с сообщением?

class MyError: msg

class MyError(Exception): pass; raise MyError("message")

throw MyError("message")

raise Error("message")

Что делает except без указания ошибки?

ловит только Exception

ловит все исключения

не ловит ничего

вызывает ошибку

Как поймать несколько исключений и сохранить объект ошибки?

except (ValueError,TypeError): e

except (ValueError,TypeError) as e

except ValueError,TypeError as e

except ValueError|TypeError as e

Как использовать try/except с ресурсами?

try: f=open(...) finally:

with open(...) as f: try: ... except

open(...) try

f=open(...) except