Re: Complete user-defined exception handling in IDLE

Terry Reedy <[email protected]> Sat, 19 Jun 2021 22:36:14 -0400
Newsgroups gmane.comp.python.idle
Message-ID <[email protected]>
T24gNi8xOS8yMDIxIDU6MzYgUE0sIEFuZHLDqSBSb2JlcmdlIHdyb3RlOgo+IEhpIGV2ZXJ5b25l
LAo+IAo+IFdpdGggdGhlIGxhdGVzdCBQeXRob24gYmV0YSB2ZXJzaW9uICgzLjEwLjApLCBJRExF
J3Mgc2hlbGwgbm93IHN1cHBvcnRzIAo+IGN1c3RvbSBleGNlcHRpb24gaG9va3MuCj4gKGh0dHBz
Oi8vZG9jcy5weXRob24ub3JnLzMuMTAvd2hhdHNuZXcvMy4xMC5odG1sI2lkbGUtYW5kLWlkbGVs
aWIgCj4gPGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzMuMTAvd2hhdHNuZXcvMy4xMC5odG1sI2lk
bGUtYW5kLWlkbGVsaWI+KQo+IEhvd2V2ZXIsIHRoaXMgc3VwcG9ydCBpcyBpbmNvbXBsZXRlIHNp
bmNlIHdoZW4gU3ludGF4RXJyb3JzIGFyZSByYWlzZWQgCj4gZm9yIGNvZGUgZW50ZXJlZCBpbiBJ
RExFJ3Mgc2hlbGwsIHRoZSBpbmZvcm1hdGlvbiBpcyBub3QgcGFzc2VkIHRvIAo+IGN1c3RvbSBl
eGNlcHRpb24gaG9va3MuCj4gCj4gQSB3aGlsZSBhZ28sIEkgZmlsZWQgYW4gaXNzdWUgaHR0cHM6
Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWU0MzQ3NiAKPiA8aHR0cHM6Ly9idWdzLnB5dGhvbi5vcmcv
aXNzdWU0MzQ3Nj4gc3VnZ2VzdGluZyB0aGF0IGl0IHdvdWxkIGJlICJuaWNlIiAKPiB0byBtYWtl
IHRoaXMgcG9zc2libGUuwqAgSSB0cmllZCBvbiBteSBvd24sIGJ1dCBoYXZlIG5vdCBiZWVuIGFi
bGUgdG8gCj4gZmlndXJlIG91dCBob3cgdG8gZG8gaXQuwqAgSG93ZXZlciwgYXMgbm90ZWQgaW4g
dGhlIGlzc3VlLCBJIGZvdW5kIGEgCj4gd29ya2Fyb3VuZCBvZiBzb3J0czogYWRkaW5nIGEgc2lu
Z2xlIGxpbmUgb2YgY29kZSB0byBzYXZlIHRoZSBvZmZlbmRpbmcgCj4gY29kZSBpbnRvIGEgc3Bl
Y2lhbGx5IG5hbWVkIGZpbGUuwqAgVGhpcyBmaWxlIGNhbiB0aGVuIGJlIGFjY2Vzc2VkIGxpa2Ug
Cj4gYW55IG90aGVycyBhbGxvd2luZyBzb21lb25lIHRvIHJlY3JlYXRlIHRoZSBTeW50YXhFcnJv
ciBhbmQgaGFuZGxlIGl0IGFzIAo+IGRlc2lyZWQuCgpJIGdhdmUgbW9yZSBmZWVkYmFjayBvbiB0
aGUgaXNzdWUuICBJRExFIGFscmVhZHkgaGFzIGEgYml0IG9mIGNvZGUgZm9yIGEgCjNyZCBwYXJ0
eSBwYWNrYWdlLCBWLUlETEU/LCB3aGljaCBJIGFtIG5vdCBzdXJlIGlzIHN0aWxsIGN1cnJlbnQu
Cgo+IEZvciB0aG9zZSB0aGF0IGFyZSBjdXJpb3VzIHRvIHNlZSB3aGF0IGl0IG1heSBsb29rIGxp
a2UsIEkgc3VnZ2VzdCB5b3UgCj4gaW5zdGFsbCAiZnJpZW5kbHkiIGZyb20gUHlQSSwgYW5kIGFk
ZCB0aGUgb25lIGxpbmUgdG8geW91ciBQeXRob24gMy4xMCAKPiBpZGxlbGliLnB5c2hlbGwucHkg
PGh0dHA6Ly9pZGxlbGliLnB5c2hlbGwucHk+IGZpbGUgYXMgbWVudGlvbmVkIGluIHRoZSAKPiBp
c3N1ZSBsaW5rZWQgYWJvdmUuwqAgVGhpcyBpcyBhIHNhbXBsZSBzZXNzaW9uIGlsbHVzdHJhdGlu
ZyB3aGF0IGl0IGxvb2tzIAo+IGxpa2UgW2l0J3MgbW9yZSBpbXByZXNzaXZlIHdpdGggY29sb3Vy
cywgb2YgY291cnNlISA7LSkgXQo+IAo+ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQo+IAo+ICA+Pj4gZnJvbSBmcmllbmRseS5pZGxlIGltcG9ydCAqCgpJIGhvcGUg
eW91IGRvY3VtZW50IHRoZSBhbHRlcm5hdGl2ZSBmb3IgYW55b25lIHdhbnRpbmcgdG8gaXNvbGF0
ZSBmLmkgCmZ1bmN0aW9uczogYGltcG9ydCBmcmllbmRseS5pZGxlIGFzIGZpYCBvcgpgZnJvbSBm
cmllbmRseSBpbXBvcnQgaWRsZSBhcyBmaWAuCgpJbiBhbnkgY2FzZSwgZmkgZXhlY3V0ZXMgaW4g
dGhlIHVzZXIgcHJvY2Vzcy4gIERvIHlvdSB1c2UgdGhlIHJwYyAKY29ubmVjdGlvbiB0byBxdWVy
eSBsaW5lY2FjaGUgaW4gdGhlIElETEUgcHJvY2Vzcz8KCj4gID4+PiBpbnN0YWxsKCkKPiAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgV0FSTklORwo+IEZy
aWVuZGx5IGNhbm5vdCBoYW5kbGUgU3ludGF4RXJyb3JzIGZvciBjb2RlIGVudGVyZWQgaW4gdGhl
IHNoZWxsLgo+ICA+Pj4gZnJvbSBtYXRoIGltcG9ydCBwaQo+ICA+Pj4gdGF1ID0gMnBpCj4gU3lu
dGF4RXJyb3I6IGludmFsaWQgZGVjaW1hbCBsaXRlcmFsCj4gID4+PiBleHBsYWluKCJzeW50YXgi
KSDCoCMgU3BlY2lhbCBmcmllbmRseSBjb21tYW5kIG5lZWRlZCB0byByZWNyZWF0ZSAKPiB0aGUg
ZXhjZXB0aW9uCk9uIHRoZSBpc3N1ZSwgSSBzdWdnZXN0ZWQgZGUtc2VyaWFsaXppbmcgdGhlIG9y
aWdpbmFsIHJhdGhlciB0aGFuIApyZWNvbXBpbGluZy4KPiAgwqAgRmlsZSAiPFN5bnRheEVycm9y
PiIsIGxpbmUgMQo+ICDCoCDCoCB0YXUgPSAycGkKPiAgwqAgwqAgwqAgwqAgwqAgXgo+IFN5bnRh
eEVycm9yOiBpbnZhbGlkIGRlY2ltYWwgbGl0ZXJhbAo+IAo+ICDCoCDCoCDCoCDCoCBQZXJoYXBz
IHlvdSBmb3Jnb3QgYSBtdWx0aXBsaWNhdGlvbiBvcGVyYXRvciwgMiAqIHBpLgo+ICA+Pj4gd2h5
KCkKPiAKPiAgwqAgwqAgVmFsaWQgbmFtZXMgY2Fubm90IGJlZ2luIHdpdGggYSBudW1iZXIuCj4g
IMKgIMKgIFBlcmhhcHMgeW91IGZvcmdvdCBhIG11bHRpcGxpY2F0aW9uIG9wZXJhdG9yLCAyICog
cGkuCj4gID4+PiB3aGF0KCkKPiAKPiAgwqAgwqAgQSBTeW50YXhFcnJvciBvY2N1cnMgd2hlbiBQ
eXRob24gY2Fubm90IHVuZGVyc3RhbmQgeW91ciBjb2RlLgo+ICA+Pj4gd2hlcmUoKQo+IAo+ICDC
oCDCoCBQeXRob24gY291bGQgbm90IHVuZGVyc3RhbmQgdGhlIGNvZGUgaW4gdGhlIGZpbGUKPiAg
wqAgwqAgJzxTeW50YXhFcnJvcj4nCj4gIMKgIMKgIGJleW9uZCB0aGUgbG9jYXRpb24gaW5kaWNh
dGVkIGJ5IF4uCj4gCj4gIMKgIMKgIC0tPjE6IHRhdSA9IDJwaQo+ICDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCBeCj4gCj4gPT09PT09PT09PT09PT09PT09PT09Cj4gWW91IGNhbiBhbHNvIHNpbXBs
eSB0eXBlICJGcmllbmRseSIgYXQgYSBwcm9tcHQsIGFuZCBhIHNwZWNpYWwgX19yZXByX18gCj4g
d2lsbCBwcm92aWRlIHNvbWUgcXVpY2sgaGVscC7CoCAoVGhpcyBpcyBub3QgeWV0IGRvY3VtZW50
ZWQuKcKgIEFuZCwgb2YgCj4gY291cnNlLCBGcmllbmRseSBtYWtlcyB1c2VzIG9mIHRoZSBuZXcg
c3VwcG9ydCBmb3IgY3VzdG9tIGV4Y2VwdGlvbiBob29rIAo+IGZvciBydW50aW1lIGVycm9ycy4K
PiAKPiBJdCBpcyBwb3NzaWJsZSB0aGF0IEkgd2lsbCBjaGFuZ2UgZXhwbGFpbigic3ludGF4Iikg
dG8gCj4gZXhwbGFpbigiU3ludGF4RXJyb3IiKSBpbiBhIGZ1dHVyZSB2ZXJzaW9uIC0gZGVwZW5k
aW5nIG9uIGZlZWRiYWNrIGFuZCAKPiBhc3N1bWluZyB0aGVyZSBpcyBzb21lIHN1cHBvcnQgZm9y
IGEgY2hhbmdlIGluIElETEUncyBjb2RlIGFzIGRlc2NyaWJlZC4KCkkgdGhpbmsgaXQgaXMgZmlu
ZSBhcyBpcy4KCj4gSWYgYW55IG9mIHlvdSB0cnkgaXQgb3V0LCBJJ2QgYmUgcmVhbGx5IGN1cmlv
dXMgdG8gc2VlIHdoYXQgeW91IHRoaW5rIG9mIAo+IHRoaXMuCj4gCj4gTW9yZSBpbmZvcm1hdGlv
biBhYm91dCBmcmllbmRseSBhbmQgSURMRSBjYW4gYmUgZm91bmQgYXQgCj4gaHR0cHM6Ly9hcm9i
ZXJnZS5naXRodWIuaW8vZnJpZW5kbHktdHJhY2ViYWNrLWRvY3MvZG9jcy9odG1sL2lkbGVfcmVw
bC5odG1sIAo+IDxodHRwczovL2Fyb2JlcmdlLmdpdGh1Yi5pby9mcmllbmRseS10cmFjZWJhY2st
ZG9jcy9kb2NzL2h0bWwvaWRsZV9yZXBsLmh0bWw+CgoKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KSURMRS1kZXYgbWFpbGluZyBsaXN0CklETEUtZGV2QHB5
dGhvbi5vcmcKaHR0cHM6Ly9tYWlsLnB5dGhvbi5vcmcvbWFpbG1hbi9saXN0aW5mby9pZGxlLWRl
dgo=