C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: FTP ファイルダウンロード エラー処理


(過去ログ 133 を表示中)

[トピック内 9 記事 (1 - 9 表示)]  << 0 >>

■78577 / inTopicNo.1)  FTP ファイルダウンロード エラー処理
  
□投稿者/ ぎみっく (17回)-(2016/01/27(Wed) 01:32:41)

分類:[VB.NET/VB2005 以降] 

下記のようにファイルをダウンロードしているのですが
サーバーに繋がらない時やファイルが存在しなかった時の記述方法がわかりません


Dim wc As New WebClient()
wc.Credentials = New System.Net.NetworkCredential(ftpid, ftppass)
wc.DownloadFile(ftpadd & hostdir & sorcefile1, sorcedir1)

これにどう追記したら良いのでしょうか?
サーバーに繋がらない時やファイルが存在しなかった時には、c:\ の同一ファイル
無ければエラーメッセージを出したいのですが
サーバー管理のエラー処理のきじゅつがわかりません

引用返信 編集キー/
■78580 / inTopicNo.2)  Re[1]: FTP ファイルダウンロード エラー処理
□投稿者/ とっちゃん (328回)-(2016/01/27(Wed) 10:32:09)
No78577 (ぎみっく さん) に返信
> 下記のようにファイルをダウンロードしているのですが
> サーバーに繋がらない時やファイルが存在しなかった時の記述方法がわかりません
>
>
> Dim wc As New WebClient()
> wc.Credentials = New System.Net.NetworkCredential(ftpid, ftppass)
> wc.DownloadFile(ftpadd & hostdir & sorcefile1, sorcedir1)
>
> これにどう追記したら良いのでしょうか?
> サーバーに繋がらない時やファイルが存在しなかった時には、c:\ の同一ファイル
> 無ければエラーメッセージを出したいのですが
> サーバー管理のエラー処理のきじゅつがわかりません
>
WebClient.DownloadFile のリファレンスにも出ていますが、
エラーが発生した場合、それなりの理由を持った例外が発生します。

なので、例外処理を行えばよいと思います。

引用返信 編集キー/
■78584 / inTopicNo.3)  Re[1]: FTP ファイルダウンロード エラー処理
□投稿者/ WebSurfer (791回)-(2016/01/27(Wed) 11:02:13)
No78577 (ぎみっく さん) に返信

目的は何でしょう? (前にも同じことを聞かなかったでした?)

(1) FTP サーバからファイルをダウンロードしたい。(手段は問わない)

(2) 自作したアプリに「サーバーに繋がらない時やファイルが存在しなかった時」の
  処置を実装したい。

(3) その他

答が (1) なら FileZilla など出来合いの優秀なものがあります。(2) なら .net ftp
confirm connection とか .net ftp client をキーワードにググると参考になりそう
な記事が多々ヒットすると思いますのでやってみましょう。例えば下記:

How to check FTP connection?
http://stackoverflow.com/questions/3234242/how-to-check-ftp-connection

FtpWebRequest、FtpWebResponseクラスを使ってFTPサーバーにアクセスする
http://dobon.net/vb/dotnet/internet/ftpwebrequest.html

答えが (3) なら具体的に目的を書いてください。
引用返信 編集キー/
■78586 / inTopicNo.4)  Re[2]: FTP ファイルダウンロード エラー処理
□投稿者/ ぎみっく (18回)-(2016/01/27(Wed) 11:23:45)
No78584 (WebSurfer さん) に返信
> ■No78577 (ぎみっく さん) に返信
>
> 目的は何でしょう? (前にも同じことを聞かなかったでした?)
>
> (1) FTP サーバからファイルをダウンロードしたい。(手段は問わない)
>
> (2) 自作したアプリに「サーバーに繋がらない時やファイルが存在しなかった時」の
>   処置を実装したい。
>
> (3) その他
>
有り難うございます
(2)です
ダウンロード出来ないときの例外処理の記述方法がわからないんです
引用返信 編集キー/
■78589 / inTopicNo.5)  Re[3]: FTP ファイルダウンロード エラー処理
□投稿者/ WebSurfer (793回)-(2016/01/27(Wed) 11:36:48)
No78586 (ぎみっく さん) に返信

> (2)です
> ダウンロード出来ないときの例外処理の記述方法がわからないんです

であれば、前のレスでも書きましたが、まずご自分でググって調べるなどして、分かる
範囲でいいので自分でコードを書いて実装してみましょう。で、そのコードを開示する
などして問題点・課題などを書いてください。

その上で質問してもらった方が、回答者の方は質問者さんが何が分からないのかが分か
って、回答が得やすいと思います。

今は丸投げに近い状況です。(ここでは丸投げは歓迎されないようです)
引用返信 編集キー/
■78590 / inTopicNo.6)  Re[3]: FTP ファイルダウンロード エラー処理
□投稿者/ みい (41回)-(2016/01/27(Wed) 13:22:26)
No78586 (ぎみっく さん) に返信
> ダウンロード出来ないときの例外処理の記述方法がわからないんです
「DownloadFile」でググる

microsoftのリファレンスにたどり着く

例外の欄の記述に気付く

Try〜Catchで処理すればいいことが分かる

該当の例外の種類でCatchでひっかけてエラーメッセージを出す

使用するメソッドの仕様が分かっていない場合は一度リファレンスを熟読した方がいいです。
特にググって見つけたものや人に教えてもらったものはどういうものか
理解して使用しないと応用が効きません。
引用返信 編集キー/
■78592 / inTopicNo.7)  Re[3]: FTP ファイルダウンロード エラー処理
□投稿者/ とっちゃん (329回)-(2016/01/27(Wed) 14:40:58)
No78586 (ぎみっく さん) に返信
> ダウンロード出来ないときの例外処理の記述方法がわからないんです

例外処理の記述方法ですか。。。

http://ufcpp.net/study/csharp/oo_exception.html
https://msdn.microsoft.com/ja-jp/library/ms173160.aspx

++C++ と、公式サイトの2つを貼っておきます。

ここでは難しい!という場合は、例外について記述されている
入門書を一冊読破してみることをお勧めします。

引用返信 編集キー/
■78594 / inTopicNo.8)  Re[4]: FTP ファイルダウンロード エラー処理
□投稿者/ WebSurfer (794回)-(2016/01/27(Wed) 15:27:30)
質問とは直接関係ないですが「よほどのことがない限り、アプリケーションで
try-catch を書いてはいけません」という話を紹介しておきます。

.NETの例外処理 Part.1
http://blogs.msdn.com/b/nakama/archive/2008/12/29/net-part-1.aspx

.NETの例外処理 Part.2
http://blogs.msdn.com/b/nakama/archive/2009/01/02/net-part-2.aspx

引用返信 編集キー/
■78596 / inTopicNo.9)  Re[5]: FTP ファイルダウンロード エラー処理
□投稿者/ なちゃ (95回)-(2016/01/27(Wed) 15:45:49)
No78594 (WebSurfer さん) に返信
> 質問とは直接関係ないですが「よほどのことがない限り、アプリケーションで
> try-catch を書いてはいけません」という話を紹介しておきます。
>
> .NETの例外処理 Part.1
> http://blogs.msdn.com/b/nakama/archive/2008/12/29/net-part-1.aspx
>
> .NETの例外処理 Part.2
> http://blogs.msdn.com/b/nakama/archive/2009/01/02/net-part-2.aspx

このことは重要ですがIO関連の例外処理はやって当たり前の部類なので誤解を生む気がします。
まあちゃんと読めば分かるんですが。
元から想定内のIOの例外を集約的に処理するのは普通ではありません。
また、try-catchをアプリで書かないとはいっても、最終的には一番上には必ず書く必要があります。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -