summaryrefslogtreecommitdiff
path: root/C++_from_the_Ground/Chapter_17(1).ipynb
diff options
context:
space:
mode:
authorroot2014-07-08 17:34:15 +0530
committerroot2014-07-08 17:34:15 +0530
commit14e9455fda0dbd61d1e8539d9e9b8ce303e81d06 (patch)
treefc89a07c1dcf8a262f3e72ba55cd8a014a2fb349 /C++_from_the_Ground/Chapter_17(1).ipynb
parentba659b4b63e3181ffa039371e19ab59388ded54a (diff)
downloadPython-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-xC++_from_the_Ground/Chapter_17(1).ipynb730
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