掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.25313

C言語におけるエラートラップ
投稿者---ぽこぺん(2006/01/14 12:38:01)


どうも いつもお世話になっています。
相変わらずC言語に苦戦しているため質問いたしました。

C言語でエラートラップのようなものはあるのでしょうか?
もし、存在するのであればどのように記述すればいいのでしょうか?

VBでの開発経験があるので、VBの話になってしまうのですが
以前VBで作成した際に、処理の最初に「On Error Goto xxxxxx」
のような記述(あやふやですが記憶が・・)をしておくと、
変数のコピーなど何らかのエラーが発生した際にエラートラップに
引っかかり、プログラムが不正終了することなくエラー処理ができたと
記憶しています。

C言語でもそのようなことが可能なのでしょうか?

以上 ご存知の方がいらしたら教えていただけると助かります。

【開発環境】
OS:Windows XP sp2
コンパイラ:VC++6.0


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:C言語におけるエラートラップ 25316 YuO 2006/01/14 13:31:52
<子記事> Re:C言語におけるエラートラップ 25317 RiSK 2006/01/14 13:47:44


No.25316

Re:C言語におけるエラートラップ
投稿者---YuO(2006/01/14 13:31:52)


>C言語でエラートラップのようなものはあるのでしょうか?

ないです。
通常は戻り値による判断を行います。

Win32環境に限ればSEHがありますが……。


この投稿にコメントする

削除パスワード

No.25317

Re:C言語におけるエラートラップ
投稿者---RiSK(2006/01/14 13:47:44)


>C言語でエラートラップのようなものはあるのでしょうか?

えーと,ちょっとずれていますが,
setjmp, longjmpとかでC++のtry-catchみたいなことができるみたい。
いつか例外を実装したいと思いながら,思うだけです。
浮動小数例外とかはsignalとかでゴニョゴニョできるみたい。

msdn参照


この投稿にコメントする

削除パスワード

No.25321

Re:C言語におけるエラートラップ
投稿者---RAPT(2006/01/14 14:37:19)


>setjmp, longjmpとかでC++のtry-catchみたいなことができるみたい。
以前、これは、BASIC の GOSUB みたいなことができる、と聞いたことが
ありますが、例外処理もどきができるんでしょうか・・・?
# 使ったことがないので無知ですみませんが。
# ちょっとサンプル探してみよっかな・・・


この投稿にコメントする

削除パスワード

No.25334

Re:C言語におけるエラートラップ
投稿者---YuO(2006/01/14 16:01:45)


>>setjmp, longjmpとかでC++のtry-catchみたいなことができるみたい。
>以前、これは、BASIC の GOSUB みたいなことができる、と聞いたことが
>ありますが、例外処理もどきができるんでしょうか・・・?

もどきなら作れるようです。
サンプルはだいたい間違っていますが。
# setjmpの戻り値を何かに代入するような式は未定義動作。

えーっと,C Magazine 2003年10月号プログラミング雑技談に載っていました。
が……setjmpの使い方間違っている……。これじゃ未定義動作……。

ここの過去ログ No.84にもありますが,サンプル全て使い方が間違っています……。



この投稿にコメントする

削除パスワード

No.25421

Re:C言語におけるエラートラップ
投稿者---ぽこぺん(2006/01/16 15:20:09)


YuOさん RiSKさん RAPTさん
ご回答ありがとうございました。

Try Catchのようなものはなく
あるとしても、サンプルが間違っているということなので
基本的には「ない」ものとして考えます。

まあ、エラーケース以外存在しないのですけどね。

本当にありがとうございました。
また何かありましたらよろしくお願いします。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧