私は「C ++、Java、または他の人がどれほど高いか理解していません例外処理作業をサポートするレベル言語??? アプリケーションを作成すると、ユーザーモードで実行され、ゼロ除算などの例外が発生する場合、システムはカーネルモードで割り込みルーチンを呼び出すか、try / catchブロックを使用することを知っていますか?
回答:
回答№1は0私が言いたいのは: 次のような例でc ++で簡単なコードを書くと:
#include <iostream>
using namespace std;
double divide(int a, int b)
{
if( b == 0 )
{
throw "Division by zero condition!";
}
return (a/b);
}
int main ()
{
int x = 50;
int y = 0;
double z = 0;
try {
z = divide(x, y);
cout << z << endl;
}catch (const char* msg) {
cerr << msg << endl;
}
return 0;
}
コンパイルして、ソフトウェアを入手します例外ルーチン内。 つまり、実行コード中にCPUはx / yを実行しようとし、例外を発生させます。さて、この場合、このエラーを処理する人: 1)un userモードを処理して、ワークフローを作成した例外ルーチンに渡します または 2)カーネルモードでシステムを切り替え、割り込みルーチンを実行するためのトラップをスローします。
LinuxやWindowsのようなシステムが例外を解決するために使用する具体的な手順は何ですか?