Opened 16 years ago
Closed 14 years ago
#752 closed Bugs (invalid)
directory_iterator doesn't work with catch
| Reported by: | nobody | Owned by: | Beman Dawes |
|---|---|---|---|
| Milestone: | Component: | filesystem | |
| Version: | None | Severity: | Showstopper |
| Keywords: | Cc: |
Description (last modified by )
Fedora Core 4, gcc version 4.0.2 20051125 (Red Hat
4.0.2-8)
The next construction doesn't work (but it works if
directory_iterator is changed to some other iterator
or just counter):
path dir_path(dir_name);
directory_iterator end_itr;
try {
for (directory_iterator itr(dir_name);
itr!=end_itr; ++itr)
{
try {
......
}
catch (...) {
cout<<"First catch"<<endl;
throw 20;
}
}
}
catch (...) {
cout<<"Second catch"<<endl;
}
Result: First catch
and stucked program, "strace" shows:
"futex(0x...,FUTEX_WAIT,2,NULL".
Change History (2)
comment:1 by , 15 years ago
| Owner: | changed from to |
|---|---|
| Severity: | → Showstopper |
| Status: | assigned → new |
comment:2 by , 14 years ago
| Description: | modified (diff) |
|---|---|
| Resolution: | None → invalid |
| Status: | new → closed |
Can't diagnose without more information. What was in the try block? Was it supposed to throw or not? Etc.
--Beman
Note:
See TracTickets
for help on using tickets.

assigning to actual user "bemandawes" instead of unknown user "beman_dawes"