🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: japan.comp.lang.visual-c++
Article #30

Re: [VC++5.0]try、catch、throw(例外処理)の使い方は?

#30
From: Kou Yamanaka
Date: Sun, 02 Apr 2000 00:00
39 lines
2081 bytes
 ありがとうございます、
ようやく理解できました。

  try~catchの関係がdo~whileみたいな関係だって事が
読みとれていなかったようです。
 switch~case,defaultの処理にも似てますね。

 ただ、C++の構文にしてはあまりスマートで無いような……
do~whileが嫌われる理由と似てるかな?

 tryの中にswitchを入れて、
breakを使わずにthrowで抜けて
catchに回し、なんて事をやると、
えらくややこしい流れのコードが
書けそうですが……書いてみた。

#include <stdio.h>
#include <conio.h>

void main()
{
    try
    {
        for(int i=1;i<=10;i++)
        {
            printf("%d:",i);
            switch(int ch=getch())
            {
            case 'g':puts("がお");      break;
            case 'n':puts("にゃお");    break;
            case 'q':puts("終わりだよ");throw 0;
            default:printf("%c\n",ch);  break;
            }
        }
    }
    catch(int)
    {
    }
}
Technical Details
Message-ID: <8c6o1m$2ac$1@mother.asahi-net.or.jp>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <8c43e7$154$1@father.asahi-net.or.jp> <8c4hep$gsi$1@newsjp.mbn.or.jp>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: f71b3,75a98fe59882a168
X-Google-Attributes: gidf71b3,public
X-Google-Thread: 10a2c7,75a98fe59882a168
X-Google-Attributes: gid10a2c7,public
From: "Kou Yamanaka" <kou-yamanaka@aichi.email.ne.jp>
Subject: Re: [VC++5.0]try、catch、throw(例外処理)の使い方は?
Date: 2000/04/02
Message-ID: <8c6o1m$2ac$1@mother.asahi-net.or.jp>
X-Deja-AN: 605544708
Content-Transfer-Encoding: 7bit
References: <8c43e7$154$1@father.asahi-net.or.jp> <8c4hep$gsi$1@newsjp.mbn.or.jp>
X-Priority: 3
Content-Type: text/plain; charset="iso-2022-jp"
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300
X-Complaints-To: ap-net@asahi-net.or.jp
X-Trace: mother.asahi-net.or.jp 954655606 2380 210.155.223.106 (2 Apr 2000 06:06:46 GMT)
Organization: Asahi Net
X-MSMail-Priority: Normal
Mime-Version: 1.0
NNTP-Posting-Date: 2 Apr 2000 06:06:46 GMT
Newsgroups: japan.comp.lang.visual-c++,fj.comp.lang.c++