Exception handling for socket.error in Python 3.5/RStudio

Shaunak Bangale shaunak.bangale at gmail.com
Fri Feb 5 16:00:26 EST 2016


Hi Martin,

Answering your questions below:


On Fri, Feb 5, 2016 at 1:50 PM, Shaunak Bangale <shaunak.bangale at gmail.com>
wrote:

> Hi Martin,
>
> Thanks for the detailed reply. I edited, saved and opened the file again.
> Still I am getting exactly the same error.
>
> Putting bigger chunk of code and the error again:
>
>
>
> # create socket
> s = socket.socket(socket.AF_INET)
> #create a SSL context with the recommended security settings for client
> sockets, including automatic certificate verification:
> context = ssl.create_default_context()
> # Alternatively, a customized context  could be created:
> #context = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
> #context.verify_mode = ssl.CERT_REQUIRED
> #context.check_hostname = True
> # Load a set of default CA certificates from default locations
> #context.load_default_certs()
>
> ssl_sock = context.wrap_socket(s, server_hostname ='
> firehose.flightaware.com')
> print("Connecting...")
> ssl_sock.connect(('firehose.flightaware.com', 1501))
> print("Connection succeeded")
>
> # send initialization command to server:
> ssl_sock.write(bytes(initiation_command, 'UTF-8'))
> # return a file object associated with the socket
> file = ssl_sock.makefile('r')
> # use "while True" for no limit in messages received
> count = 10
> while (count > 0):
>     try :
>         # read line from file:
>         print(file.readline())
>         # parse
>         parse_json(file.readline())
>         count = count - 1
>     except socket.error as e:
>         print('Connection fail', e)
>         print(traceback.format_exc())
>
>
> # wait for user input to end
> # input("\n Press Enter to exit...");
> # close the SSLSocket, will also close the underlying socket
> ssl_sock.close()
>
> ----------
>
> Error:
> except socket.error as e:
>                          ^
> SyntaxError: invalid syntax
>
>
> TIA.
>
>
>
>
>
> On Fri, Feb 5, 2016 at 1:44 PM, Martin A. Brown <martin at linux-ip.net>
> wrote:
>
>>
>> Hi there Shaunak,
>>
>> I saw your few replies to my (and Nathan's) quick identification of
>> syntax error.  More comments follow, here.
>>
>> >I am running this python script on R-studio. I have Python 3.5 installed
>> on my system.
>> >
>> >count = 10
>> >while (count > 0):
>> >    try :
>> >        # read line from file:
>> >        print(file.readline())
>> >        # parse
>> >        parse_json(file.readline())
>> >        count = count - 1
>> >    except socket.error as e
>> >        print('Connection fail', e)
>> >        print(traceback.format_exc())
>> >
>> ># wait for user input to end
>> ># input("\n Press Enter to exit...");
>> ># close the SSLSocket, will also close the underlying socket
>> >ssl_sock.close()
>> >
>> >The error I am getting is here:
>> >
>> >line 53 except socket.error as e ^ SyntaxError: invalid syntax
>> >
>> >I tried changing socket.error to ConnectionRefusedError. and still got
>> the same error.
>>
>> We were assuming that line 53 in your file is the part you pasted
>> above.  That clearly shows a syntax error (the missing colon).
>>
>> If, after fixing that error, you are still seeing errors, then the
>> probable explanations are:
>>
>>   * you are not executing the same file you are editing
>>
>>   * there is a separate syntax error elsewhere in the file (you sent
>>     us only a fragment)
>>
>> Additional points:
>>
>>   * While the word 'file' is not reserved in Python 3.x, it is in
>>     Python 2.x, so, just be careful when working with older Python
>>     versions.  You could always change your variable name, but you
>>     do not need to.
>>
>> But according to FlighAware, this code is supposed to work on the Python
3.X and I have Python 3.5 on my computer and I am hoping the same is being
used by Rstudio.


>   * When you catch the error in the above, you print the traceback
>>     information, but your loop will continue.  Is that what you
>>     desired?
>>
>> Yes, I want the loop to run 10 times.


> I might suggest saving your work carefully and make sure that you
>> are running the same code that you are working on.  Then, if you
>> are still experiencing syntax errors, study the lines that the
>> interpreter is complaining about.  And, of course, send the list an
>> email.
>>
>> The same code is supposedly running on a mac machine- Rstudio. I am not
sure if the issue is also with Windows 7- Rstudio- Python 3.5 combo.


> Best of luck,
>>
>> -Martin
>>
>> --
>> Martin A. Brown
>> http://linux-ip.net/
>>
>
>


More information about the Python-list mailing list