Error Trapping

J

JohnJohnUSA

I ran the following program to retrieve entries from the window
registry on Windows XP

import win32api, win32co
aReg = win32api.RegConnectRegistry(None
win32con.HKEY_CURRENT_USER
aKey = win32api.RegOpenKeyEx(aReg
r"Software\Microsoft\Internet Explorer\PageSetup"
for i in range(100)
Name, Data, Type = win32api.RegEnumValue(aKey, i
print "Index=(", i,") Name=["
Name,"] Data=[",Data,"
Type=[",Type,"]
win32api.RegCloseKey(aKey

This is the program output

[code:1:8bb6fccb25]Index=( 0 ) Name=[ header
Data=[ &w&bPage &p of &P ] Type=[

Index=( 1 ) Name=[ footer ] Data=
&u&b&d ] Type=[ 1
Index=( 2 ) Name=[ margin_bottom ] Data=[ 0.75000
] Type=[ 1
Index=( 3 ) Name=[ margin_left ] Data=[ 0.75000
] Type=[ 1
Index=( 4 ) Name=[ margin_right ] Data=[ 0.75000
] Type=[ 1
Index=( 5 ) Name=[ margin_top ] Data=[ 0.75000
] Type=[ 1

Traceback (most recent call last)
File "F:/temp/Python Test Folder/Read Windows Registr
Entries (No error trapping).py", line 5, in -toplevel
Name, Data, Type = win32api.RegEnumValue(aKey, i
error: (259, 'PyRegEnumValue', 'No more data i
available.')[/code:1:8bb6fccb25

I received an error because I tried to read past the last entry fo
this key. The following is a modified version of the program to tra
any error on key entry retrieval

[code:1:8bb6fccb25]import win32api, win32con, sy
aReg = win32api.RegConnectRegistry(None
win32con.HKEY_CURRENT_USER
aKey = win32api.RegOpenKeyEx(aReg
r"Software\Microsoft\Internet Explorer\PageSetup"
for i in range(100)
try
Name, Data, Type = win32api.RegEnumValue(aKey, i
print "Index=(", i,") Name=["
Name,"] Data=[",Data,"
Type=[",Type,"]
except
brea
win32api.RegCloseKey(aKey)[/code:1:8bb6fccb25

This is the program output

[code:1:8bb6fccb25]Index=( 0 ) Name=[ header
Data=[ &w&bPage &p of &P ] Type=[

Index=( 1 ) Name=[ footer ] Data=
&u&b&d ] Type=[ 1
Index=( 2 ) Name=[ margin_bottom ] Data=[ 0.75000
] Type=[ 1
Index=( 3 ) Name=[ margin_left ] Data=[ 0.75000
] Type=[ 1
Index=( 4 ) Name=[ margin_right ] Data=[ 0.75000
] Type=[ 1
Index=( 5 ) Name=[ margin_top ] Data=[ 0.75000
] Type=[ 1 ][/code:1:8bb6fccb25

The latter program will trap any error resulting from trying t
retrieve the key values. What I want to do is to specifically tra
the error denoting that there is no more data available so I ca
continue executing more code as oppose to aborting the program. i
the error is something other than no more data available, then I wan
to abort the program with an error message

What code is needed to specifically trap the "no more data i
available" error

Thank you in advance for your help
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,537
Members
45,021
Latest member
AkilahJaim

Latest Threads

Top