- PR -

FDD書き込み時のエラー回避について

1
投稿者投稿内容
会議室デビュー日: 2002/04/15
投稿数: 5
投稿日時: 2002-04-15 20:11
Javaアプリケーションをバッチファイルから起動して、フロッピディスクにファイルを書き込もうとした場合、フロッピディスクがフロッピドライブに挿入されていないと、Windows2000のエラーダイアログボックスが出てしまい、Javaアプリケーションが停止してしまいます。

Windowsのエラーダイアログボックスを出さずにJavaアプリケーションで、エラーを検知する方法は、ありませんか?
しょむ
ぬし
会議室デビュー日: 2001/09/06
投稿数: 430
投稿日時: 2002-04-16 02:26
IOException を try/catch ではだめなんでそか。
会議室デビュー日: 2002/04/15
投稿数: 5
投稿日時: 2002-04-16 15:51
まだあまり試していないんですけど、私の所有しているノートマシンの内臓FDDにフロッピーを入れずに書き込もうとすると、ちゃんとエラーがcatchできるのすが、Windows2000のサーバマシン(デスクトップ)では、catchする前にウインドウシステムがエラーのダイアログボックスを出してしまいます。
これって、Windowsの設定ですかね?
miki
大ベテラン
会議室デビュー日: 2001/09/21
投稿数: 174
お住まい・勤務地: 東京都八王子市
投稿日時: 2002-04-16 16:23
真偽のほどはわかりませんが、以下のページではJVM依存の問題なのでJNIを使うしかないと言っています。

http://www.jguru.com/faq/view.jsp?EID=488755
会議室デビュー日: 2002/04/15
投稿数: 5
投稿日時: 2002-04-16 18:48
御回答有難うございます。本当に助かりました。
確かに、プラットホーム依存することだから、JNIを使うしかないと思います。

が、しかし、実際には、
OSがWindows2000で、同じJDKを入れて、動作させても、片方のマシンでは、
システムのエラーダイアログが出て、もう片方のマシンでは、エラーダイアログが出ないという現象も出ています。
違いは、環境の設定の仕方だと思いますが、何が違うのかさっぱり解りません。
この辺の環境を詳しい方何方かいらっしゃいませんか?
miki
大ベテラン
会議室デビュー日: 2001/09/21
投稿数: 174
お住まい・勤務地: 東京都八王子市
投稿日時: 2002-04-16 23:56
> OSがWindows2000で、同じJDKを入れて

この問題に限らず、一般論としてサービスパックやJDKのバージョン情報が無いと誰も検証できないと思います。

> 違いは、環境の設定の仕方だと思いますが

JDKが動いている環境自身が微妙に違うのかもしれませんね。
会議室デビュー日: 2002/04/15
投稿数: 5
投稿日時: 2002-05-13 11:39
JNIを使用して、WINAPIのSetErrorMode(SEM_FAILCRITICALERRORS)を呼ぶことで
無事うまくいきました。
御指導有難うございました。
1

スキルアップ/キャリアアップ(JOB@IT)