{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "ce327730", "metadata": {}, "outputs": [], "source": [ "def foo():\n", " assert 1 == 2" ] }, { "cell_type": "code", "execution_count": 2, "id": "f8ca175e", "metadata": {}, "outputs": [], "source": [ "def bar():\n", " foo()" ] }, { "cell_type": "code", "execution_count": 3, "id": "68e112d4", "metadata": {}, "outputs": [], "source": [ "def baz():\n", " bar()" ] }, { "cell_type": "code", "execution_count": 4, "id": "2e2aa76b", "metadata": {}, "outputs": [ { "ename": "AssertionError", "evalue": "", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mAssertionError\u001b[0m Traceback (most recent call last)", "Input \u001b[0;32mIn [4]\u001b[0m, in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0m baz()\n", "Input \u001b[0;32mIn [3]\u001b[0m, in \u001b[0;36mbaz\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mbaz\u001b[39m():\n\u001b[0;32m----> 2\u001b[0m \u001b[43mbar\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", "Input \u001b[0;32mIn [2]\u001b[0m, in \u001b[0;36mbar\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mbar\u001b[39m():\n\u001b[0;32m----> 2\u001b[0m \u001b[43mfoo\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", "Input \u001b[0;32mIn [1]\u001b[0m, in \u001b[0;36mfoo\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mfoo\u001b[39m():\n\u001b[0;32m----> 2\u001b[0m \u001b[38;5;28;01massert\u001b[39;00m \u001b[38;5;241m1\u001b[39m \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m2\u001b[39m\n", "\u001b[0;31mAssertionError\u001b[0m: " ] } ], "source": [ "baz()" ] }, { "cell_type": "code", "execution_count": 6, "id": "d6b481da", "metadata": {}, "outputs": [], "source": [ "def err1(x):\n", " return 8/x" ] }, { "cell_type": "code", "execution_count": 7, "id": "9423bc95", "metadata": {}, "outputs": [ { "ename": "ZeroDivisionError", "evalue": "division by zero", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mZeroDivisionError\u001b[0m Traceback (most recent call last)", "Input \u001b[0;32mIn [7]\u001b[0m, in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0m err1(\u001b[38;5;241m0\u001b[39m)\n", "Input \u001b[0;32mIn [6]\u001b[0m, in \u001b[0;36merr1\u001b[0;34m(x)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21merr1\u001b[39m(x):\n\u001b[0;32m----> 2\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;241;43m8\u001b[39;49m\u001b[38;5;241;43m/\u001b[39;49m\u001b[43mx\u001b[49m\n", "\u001b[0;31mZeroDivisionError\u001b[0m: division by zero" ] } ], "source": [ "err1(0)" ] }, { "cell_type": "code", "execution_count": 8, "id": "b57fc1c8", "metadata": {}, "outputs": [], "source": [ "d = { \"Jenny\":8675309}" ] }, { "cell_type": "code", "execution_count": 9, "id": "54023b85", "metadata": {}, "outputs": [ { "ename": "KeyError", "evalue": "'Mattox'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", "Input \u001b[0;32mIn [9]\u001b[0m, in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0m d[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mMattox\u001b[39m\u001b[38;5;124m'\u001b[39m]\n", "\u001b[0;31mKeyError\u001b[0m: 'Mattox'" ] } ], "source": [ "d['Mattox']" ] }, { "cell_type": "code", "execution_count": 10, "id": "4955ee9e", "metadata": {}, "outputs": [], "source": [ "mylist = [2,3,4,5]" ] }, { "cell_type": "code", "execution_count": 11, "id": "7c600619", "metadata": {}, "outputs": [ { "ename": "IndexError", "evalue": "list index out of range", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mIndexError\u001b[0m Traceback (most recent call last)", "Input \u001b[0;32mIn [11]\u001b[0m, in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0m mylist[\u001b[38;5;241m10\u001b[39m]\n", "\u001b[0;31mIndexError\u001b[0m: list index out of range" ] } ], "source": [ "mylist[10]" ] }, { "cell_type": "code", "execution_count": 12, "id": "a89fb5df", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "'Mattox' in d" ] }, { "cell_type": "code", "execution_count": 13, "id": "7e53db36", "metadata": {}, "outputs": [ { "ename": "TypeError", "evalue": "list indices must be integers or slices, not str", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", "Input \u001b[0;32mIn [13]\u001b[0m, in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0m mylist[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mhi\u001b[39m\u001b[38;5;124m'\u001b[39m]\n", "\u001b[0;31mTypeError\u001b[0m: list indices must be integers or slices, not str" ] } ], "source": [ "mylist['hi']" ] }, { "cell_type": "code", "execution_count": 15, "id": "0e7ccaa1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Give me an index: 999\n" ] }, { "ename": "IndexError", "evalue": "list index out of range", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mIndexError\u001b[0m Traceback (most recent call last)", "Input \u001b[0;32mIn [15]\u001b[0m, in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m i \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mint\u001b[39m(\u001b[38;5;28minput\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mGive me an index: \u001b[39m\u001b[38;5;124m\"\u001b[39m))\n\u001b[0;32m----> 2\u001b[0m mylist[i]\n", "\u001b[0;31mIndexError\u001b[0m: list index out of range" ] } ], "source": [ "i = int(input(\"Give me an index: \"))\n", "mylist[i]" ] }, { "cell_type": "code", "execution_count": 16, "id": "2ffc8057", "metadata": {}, "outputs": [], "source": [ "def safeLookup():\n", " try:\n", " i = int(input(\"Give me an index: \"))\n", " return mylist[i]\n", " except:\n", " print(\"Ug. Something went wrong.\")" ] }, { "cell_type": "code", "execution_count": 17, "id": "2f5d6bc3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Give me an index: 10\n", "Ug. Something went wrong.\n" ] } ], "source": [ "safeLookup()" ] }, { "cell_type": "code", "execution_count": 18, "id": "e51d3fbd", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Give me an index: 3\n" ] }, { "data": { "text/plain": [ "5" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "safeLookup()" ] }, { "cell_type": "code", "execution_count": 28, "id": "8b782b26", "metadata": {}, "outputs": [], "source": [ "def safeLookup():\n", " try:\n", " i = int(input(\"Give me an index: \"))\n", " return mylist[i]\n", " except IndexError:\n", " print(\"It needs to be from 0 to 3\")\n", " except ValueError:\n", " print(\"Please stick with integers.\")\n", " except Exception as e:\n", " print(\"Ug. Something went wrong.\")\n", " print(e)" ] }, { "cell_type": "code", "execution_count": 29, "id": "07877058", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Give me an index: 234\n", "It needs to be from 0 to 3\n" ] } ], "source": [ "safeLookup()" ] }, { "cell_type": "code", "execution_count": 30, "id": "b6a75216", "metadata": {}, "outputs": [], "source": [ "class BadDay(Exception):\n", " pass" ] }, { "cell_type": "code", "execution_count": 31, "id": "0084cd6f", "metadata": {}, "outputs": [], "source": [ "def howAreYou():\n", " d = input(\"What day is it? \")\n", " if d=='Monday':\n", " raise BadDay\n", " else:\n", " print(\"Good day!\")" ] }, { "cell_type": "code", "execution_count": 32, "id": "67fa78ed", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "What day is it? Monday\n" ] }, { "ename": "BadDay", "evalue": "", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mBadDay\u001b[0m Traceback (most recent call last)", "Input \u001b[0;32mIn [32]\u001b[0m, in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0m howAreYou()\n", "Input \u001b[0;32mIn [31]\u001b[0m, in \u001b[0;36mhowAreYou\u001b[0;34m()\u001b[0m\n\u001b[1;32m 2\u001b[0m d \u001b[38;5;241m=\u001b[39m \u001b[38;5;28minput\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mWhat day is it? \u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 3\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m d\u001b[38;5;241m==\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mMonday\u001b[39m\u001b[38;5;124m'\u001b[39m:\n\u001b[0;32m----> 4\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m BadDay\n\u001b[1;32m 5\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 6\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mGood day!\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", "\u001b[0;31mBadDay\u001b[0m: " ] } ], "source": [ "howAreYou()" ] }, { "cell_type": "code", "execution_count": null, "id": "06d46678", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.9" } }, "nbformat": 4, "nbformat_minor": 5 }