このバイナリはstd:string型の例外をスローすることによってクラッシュします。剥奪バイナリから'std :: string'のインスタンスをスローした後にterminateが呼び出される
スタックトレース:
terminate called after throwing an instance of 'std::string'
*** Aborted at 1309483487 (unix time) try "date -d @1309483487" if you are using GNU date ***
PC: @ 0x3fb0c30155 (unknown)
*** SIGABRT (@0xd54) received by PID 3412 (TID 0x40d03940) from PID 3412; stack trace: ***
@ 0x3fb180de70 (unknown)
@ 0x3fb0c30155 (unknown)
@ 0x3fb0c31bf0 (unknown)
@ 0x2aaaaab80cc4 (unknown)
@ 0x2aaaaab7ee36 (unknown)
@ 0x2aaaaab7ee63 (unknown)
@ 0x2aaaaab7ef4a (unknown)
@ 0x4c2622 XYZ::connect()
@ 0x4c3e0f XYZ::refresh()
@ 0x3fb18062f7 (unknown)
@ 0x3fb0cd1e3d (unknown)
は今の事はある、リフレッシュ()関数は、のstd ::文字列をキャッチしようとしません。それは次のようになります: -
bool XYZ::refresh() {
try {
connect();
} catch (string& s) {
return false;
}
return true;
}
なぜそれがキャッチされていないのですか?または私は間違ってスタックトレースを読んでいますか?
私は 'const string 'をキャッチしようとします。 –