diff options
author | root | 2014-07-08 17:34:15 +0530 |
---|---|---|
committer | root | 2014-07-08 17:34:15 +0530 |
commit | 14e9455fda0dbd61d1e8539d9e9b8ce303e81d06 (patch) | |
tree | fc89a07c1dcf8a262f3e72ba55cd8a014a2fb349 /C++_from_the_Ground/Chapter_17(1).ipynb | |
parent | ba659b4b63e3181ffa039371e19ab59388ded54a (diff) | |
download | Python-Textbook-Companions-14e9455fda0dbd61d1e8539d9e9b8ce303e81d06.tar.gz Python-Textbook-Companions-14e9455fda0dbd61d1e8539d9e9b8ce303e81d06.tar.bz2 Python-Textbook-Companions-14e9455fda0dbd61d1e8539d9e9b8ce303e81d06.zip |
removing unwanted files
Diffstat (limited to 'C++_from_the_Ground/Chapter_17(1).ipynb')
-rwxr-xr-x | C++_from_the_Ground/Chapter_17(1).ipynb | 730 |
1 files changed, 0 insertions, 730 deletions
diff --git a/C++_from_the_Ground/Chapter_17(1).ipynb b/C++_from_the_Ground/Chapter_17(1).ipynb deleted file mode 100755 index c50f48aa..00000000 --- a/C++_from_the_Ground/Chapter_17(1).ipynb +++ /dev/null @@ -1,730 +0,0 @@ -{ - "metadata": { - "name": "", - "signature": "sha256:636fe844c88ef46d09064f199c6b3a4c62e262611a41cc6f126f08459b94982e" - }, - "nbformat": 3, - "nbformat_minor": 0, - "worksheets": [ - { - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "<h1>Chapter 17: Exception Handling<h1>" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "<h3>Example 17.1, Page Number: 397<h3>" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\n", - "print \"start\"\n", - "\n", - "try: #start a try block\n", - " print \"Inside try block\"\n", - " raise Exception(99) #raise an error\n", - " print \"This will not execute\"\n", - "except Exception,i: #catch an error\n", - " print \"Caught an exception -- value is:\",\n", - " print i\n", - "\n", - "print \"end\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "start\n", - "Inside try block\n", - "Caught an exception -- value is: 99\n", - "end\n" - ] - } - ], - "prompt_number": 1 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "<h3>Example 17.2, Page Number: 399<h3>" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\n", - "\n", - "import sys\n", - "\n", - "\n", - "\n", - "def main():\n", - " print \"start\"\n", - " try: #start a try block\n", - " print \"Inside try block\"\n", - " raise Exception(99) #raise an error\n", - " print \"This will not execute\"\n", - " except Exception,i: #catch an error\n", - " if isinstance(i,float):\n", - " print \"Caught an exception -- value is:\",\n", - " print i\n", - " else:\n", - " print \"Abnormal program termination\"\n", - " return\n", - " print \"end\"\n", - "\n", - " \n", - "main()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "start\n", - "Inside try block\n", - "Abnormal program termination\n" - ] - } - ], - "prompt_number": 1 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "<h3>Example 17.3, Page Number: 400<h3>" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\n", - "def Xtest(test):\n", - " print \"Inside Xtest, test is: \",test\n", - " if(test):\n", - " raise Exception(test)\n", - " \n", - "print \"start\"\n", - "\n", - "try: #start a try block\n", - " print \"Inside try block\"\n", - " Xtest(0)\n", - " Xtest(1)\n", - " Xtest(2)\n", - "except Exception,i: #catch an error\n", - " print \"Caught an exception -- value is:\",\n", - " print i\n", - "\n", - "print \"end\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "start\n", - "Inside try block\n", - "Inside Xtest, test is: 0\n", - "Inside Xtest, test is: 1\n", - "Caught an exception -- value is: 1\n", - "end\n" - ] - } - ], - "prompt_number": 2 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "<h3>Example 17.4, Page Number: 401<h3>" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\n", - "def Xhandler(test):\n", - " try:\n", - " if(test):\n", - " raise Exception(test)\n", - " except Exception,i:\n", - " print \"Caught One! Ex #:\",i\n", - " \n", - "print \"start\"\n", - "\n", - "Xhandler(1)\n", - "Xhandler(2)\n", - "Xhandler(0)\n", - "Xhandler(3)\n", - "\n", - "print \"end\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "start\n", - "Caught One! Ex #: 1\n", - "Caught One! Ex #: 2\n", - "Caught One! Ex #: 3\n", - "end\n" - ] - } - ], - "prompt_number": 3 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "<h3>Example 17.5, Page Number: 401<h3>" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\n", - "\n", - "class MyException:\n", - " def __init__(self,s):\n", - " self.str_what=s\n", - " \n", - "#Variable declaration\n", - "a=None \n", - "b=None\n", - "\n", - "try:\n", - " print \"Enter numerator and denominator:\"\n", - " #User-input\n", - " a=10 \n", - " b=0\n", - " if not(b):\n", - " raise MyException(\"Cannot divide by zero!\")\n", - " else:\n", - " print \"Quotient is\",a/b\n", - "except MyException as e: #catch an error\n", - " print e.str_what\n", - " " - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Enter numerator and denominator:\n", - "Cannot divide by zero!\n" - ] - } - ], - "prompt_number": 4 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "<h3>Example 17.6, Page Number: 403<h3>" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\n", - "class MyException:\n", - " def __init__(self,s):\n", - " self.x=s\n", - " \n", - "def Xhandler(test):\n", - " try:\n", - " if(test):\n", - " raise MyException(test)\n", - " else:\n", - " raise MyException(\"Value is zero\")\n", - " except MyException as i:\n", - " if isinstance(i.x,int):\n", - " print \"Caught One! Ex #:\",i.x\n", - " else:\n", - " print \"Caught a string:\",\n", - " print i.x\n", - " \n", - "print \"start\"\n", - "\n", - "Xhandler(1)\n", - "Xhandler(2)\n", - "Xhandler(0)\n", - "Xhandler(3)\n", - "\n", - "print \"end\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "start\n", - "Caught One! Ex #: 1\n", - "Caught One! Ex #: 2\n", - "Caught a string: Value is zero\n", - "Caught One! Ex #: 3\n", - "end\n" - ] - } - ], - "prompt_number": 5 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "<h3>Example 17.7, Page Number: 404<h3>" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\n", - "\n", - "class B:\n", - " pass\n", - "\n", - "class D(B):\n", - " pass\n", - "\n", - "derived=D()\n", - "\n", - "try:\n", - " raise B()\n", - "except B as b:\n", - " print \"Caught a base class.\"\n", - "except D as d:\n", - " print \"This wont execute.\"\n", - " " - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Caught a base class.\n" - ] - } - ], - "prompt_number": 6 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "<h3>Example 17.8, Page Number: 405<h3>" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\n", - "def Xhandler(test):\n", - " try:\n", - " if test==0:\n", - " raise Exception(test) #throw int\n", - " if test==1:\n", - " raise Exception('a') #throw char\n", - " if test==2:\n", - " raise Exception(123.23) #throw double\n", - " except: #Catches all exceptions\n", - " print \"Caught One!\"\n", - "\n", - "print \"start\"\n", - "\n", - "Xhandler(0)\n", - "Xhandler(1)\n", - "Xhandler(2)\n", - "\n", - "print \"end\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "start\n", - "Caught One!\n", - "Caught One!\n", - "Caught One!\n", - "end\n" - ] - } - ], - "prompt_number": 7 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "<h3>Example 17.9, Page Number: 405<h3>" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\n", - "class MyException:\n", - " def __init__(self,s):\n", - " self.x=s\n", - " \n", - "def Xhandler(test):\n", - " try:\n", - " if test==0:\n", - " raise MyException(test) #throw int\n", - " if test==1:\n", - " raise MyException('a') #throw char\n", - " if test==2:\n", - " raise MyException(123.23) #throw double\n", - " except MyException as i:\n", - " if isinstance(i.x,int): #catch an int exception\n", - " print \"Caught\",i.x \n", - " else: #catch all other exceptions\n", - " print \"Caught One!\"\n", - " \n", - "\n", - "print \"start\"\n", - "\n", - "Xhandler(0)\n", - "Xhandler(1)\n", - "Xhandler(2)\n", - "\n", - "print \"end\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "start\n", - "Caught 0\n", - "Caught One!\n", - "Caught One!\n", - "end\n" - ] - } - ], - "prompt_number": 8 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "<h3>Example 17.10, Page Number: 407<h3>" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\n", - "class MyException:\n", - " def __init__(self,s):\n", - " self.x=s\n", - " \n", - "#This function can only throw ints, chars and doubles\n", - "def Xhandler(test):\n", - " if test==0:\n", - " raise MyException(test) #throw int\n", - " if test==1:\n", - " raise MyException('a') #throw char\n", - " if test==2:\n", - " raise MyException(123.23) #throw double\n", - " \n", - "\n", - "print \"start\"\n", - "try:\n", - " Xhandler(0)\n", - "except MyException as i:\n", - " if isinstance(i.x,int): #catch an int exception\n", - " print \"Caught int\" \n", - " elif isinstance(i.x,str): #catch a char exception\n", - " print \"Caught char\"\n", - " elif isinstance(i.x,float): #catch a float exception\n", - " print \"Caught double\"\n", - "\n", - "print \"end\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "start\n", - "Caught int\n", - "end\n" - ] - } - ], - "prompt_number": 9 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "<h3>Example 17.11, Page Number: 408<h3>" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\n", - "def Xhandler():\n", - " try:\n", - " raise Exception(\"hello\") #throw a char *\n", - " except Exception,c: #catch a char *\n", - " print \"Caugh char * inside Xhandler\"\n", - " raise #rethrow char * out of function\n", - " \n", - "print \"start\"\n", - "try:\n", - " Xhandler()\n", - "except Exception,c:\n", - " print \"Caught char * inside main\"\n", - " \n", - "print \"end\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "start\n", - "Caugh char * inside Xhandler\n", - "Caught char * inside main\n", - "end\n" - ] - } - ], - "prompt_number": 10 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "<h3>Example 17.12, Page Number: 410<h3>" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\n", - "from ctypes import *\n", - "\n", - "#Variable declaration\n", - "p=[]\n", - "\n", - "try:\n", - " for i in range(32):\n", - " p.append(c_int())\n", - "except MemoryError,m:\n", - " print \"Allocation failure.\"\n", - " \n", - "for i in range(32):\n", - " p[i]=i\n", - " \n", - "for i in range(32):\n", - " print p[i],\n", - " \n", - " " - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31\n" - ] - } - ], - "prompt_number": 12 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "<h3>Example 17.13, Page Number: 410<h3>" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\n", - "from ctypes import *\n", - "\n", - "#Variable declaration\n", - "p=[]\n", - "\n", - "\n", - "for i in range(32):\n", - " p.append(c_int()) \n", - "if not(p):\n", - " print \"Allocation failure.\"\n", - " \n", - "for i in range(32):\n", - " p[i]=i\n", - " \n", - "for i in range(32):\n", - " print p[i],\n", - " \n", - " " - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31\n" - ] - } - ], - "prompt_number": 13 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "<h3>Example 17.13, Page Number: 412<h3>" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\n", - "class three_d:\n", - " def __init__(self,i=0,j=0,k=0): #3=D coordinates\n", - " if(i==0 and j==0 and k==0):\n", - " self.x=self.y=self.z=0\n", - " print \"Constructing 0, 0, 0\"\n", - " else:\n", - " self.x=i\n", - " self.y=j\n", - " self.z=k\n", - " print \"Constructing\",i,\",\",j,\",\",k\n", - " def __del__(self):\n", - " print \"Destructing\"\n", - " #new overloaded relative to three_d.\n", - " def __new__(typ, *args, **kwargs):\n", - " obj = object.__new__(typ, *args, **kwargs)\n", - " return obj\n", - " def show(self):\n", - " print self.x,\",\",\n", - " print self.y,\",\",\n", - " print self.z\n", - " \n", - "p1=[]*3\n", - "p2=[]\n", - " \n", - "try:\n", - " print \"Allocating array of three_d objects.\"\n", - " for i in range(3): #allocate array\n", - " p1.append(three_d())\n", - " print \"Allocating three_d object.\"\n", - " p2.append(three_d(5,6,7)) #allocate object\n", - "except MemoryError:\n", - " print \"Allocation error\"\n", - " \n", - "p1[2].show()\n", - "p2[0].show()\n", - "\n", - "\n", - "for i in xrange(2,-1,-1):\n", - " del p1[i] #delete array\n", - "print \"Deleting array of thee_d objects.\"\n", - "\n", - "del p2[0] #delete object\n", - "print \"Deleting three_d object.\"" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Allocating array of three_d objects.\n", - "Constructing 0, 0, 0\n", - "Constructing 0, 0, 0\n", - "Constructing 0, 0, 0\n", - "Allocating three_d object.\n", - "Constructing 5 , 6 , 7\n", - "0 , 0 , 0\n", - "5 , 6 , 7\n", - "Destructing\n", - "Destructing\n", - "Destructing\n", - "Deleting array of thee_d objects.\n", - "Destructing\n", - "Deleting three_d object.\n" - ] - } - ], - "prompt_number": 14 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [], - "language": "python", - "metadata": {}, - "outputs": [] - } - ], - "metadata": {} - } - ] -}
\ No newline at end of file |