我想知道是否可以從服務器發送異常並在客戶端接收它。 這裏是我的服務器:如何在服務器中引發異常並在客戶端C++中捕獲異常?
void MyServer::on_new_message(int identifier, string message) {
if(/*some condition for message*/)
throw BadIO();
}
,在這裏我的客戶主要是:
int main(){
try{
cin>>c;
socket.send(c);
socket.receive();
}
catch(BadIO& exp)
{
cout<<exp.what()<<endl;
}
return 0;
}
乳寧這個代碼後,我得到:
拋出的 'BadIO' 中止一個實例後終止叫(核心轉儲)
預先感謝:)
這是你的例外。 –
客戶機/服務器如何通信?這個問題缺少很多必要的細節。 –
您的客戶端和服務器位於不同的進程中,並且可能位於不同的計算機上。一個強大的解決方案可以讓服務器將異常序列化爲客戶端可以讀取的格式,然後客戶端會拋出相應的異常。 – AndyG