先週は忙しかったのでお休みしました。


第12回投稿は

例外の投げ方。


例外とは、プログラム上のエラー(0で割るとか)が起きても

try~catch文を書いておけば

プログラム内で対処できる

というもの。


javaとかだと

void kansu (int hikisu) throws Exception{

...

}

みたいに書くのだけど

C#やC++はそうじゃないことを

最近はじめて知った。


C++の例外throw方法はコチラ。

//----------------------------------------------

char hex(int x){//16進数1桁
if(x<0 || x>15) throw gcnew System::OverflowException();
if(x<10) return (char)('0'+x);
return (char)('a'+(x-10));
}

int main(array<System::String ^> ^args){

  try{
for(int i=8;i<20;i++)
putchar(hex(i));
}catch(...){
putchar('?');
}
putchar('\n');

return 0;
} //出力 89abcdef?

//----------------------------------------------