If no webbrowsers were found _tryorder would be empty, cmd would never be set and the "del cmd" would fail. Fixed.

2.2.1 candidate.
diff --git a/Lib/webbrowser.py b/Lib/webbrowser.py
index 67b086e..19443ca 100644
--- a/Lib/webbrowser.py
+++ b/Lib/webbrowser.py
@@ -322,6 +322,7 @@
         if _iscommand(cmd.lower()):
             register(cmd.lower(), None, GenericBrowser(
                 "%s '%%s'" % cmd.lower()))
+cmd = None # to make del work if _tryorder was empty
 del cmd
 
 _tryorder = filter(lambda x: _browsers.has_key(x.lower())