OmegaChartのソースコードの保守
Revision | a598a7692389b27c2f0867c8a71f7303c510b840 (tree) |
---|---|
Zeit | 2014-08-19 00:07:36 |
Autor | panacoran <panacoran@user...> |
Commiter | panacoran |
Yahoo.csのエラー処理を修正する
- ステータスコード999のエラーもリトライの対象にする
- 日経平均の取得に失敗したときにArgumentOutOfRangeExceptionになるのを直す
@@ -72,7 +72,7 @@ namespace Zanetti.DataSource.Specialized | ||
72 | 72 | var nikkei225 = FetchPrices((int)BuiltInIndex.Nikkei225, original); |
73 | 73 | if (nikkei225.ReturnStatus != FetchResult.Status.Success) |
74 | 74 | throw new Exception(string.Format("株価の取得に失敗しました。時間を置いて再試行してください。: {0}~{1}", |
75 | - _series[0], _series[_series.Count - 1])); | |
75 | + original[0], original[original.Count - 1])); | |
76 | 76 | dates.RemoveRange(0, n); |
77 | 77 | _series.Clear(); |
78 | 78 | foreach (var date in original) |
@@ -214,9 +214,13 @@ namespace Zanetti.DataSource.Specialized | ||
214 | 214 | switch (e.Status) |
215 | 215 | { |
216 | 216 | case WebExceptionStatus.ProtocolError: |
217 | - var c = ((HttpWebResponse)e.Response).StatusCode; | |
218 | - if (c == HttpStatusCode.BadGateway || c == HttpStatusCode.InternalServerError) | |
219 | - goto case WebExceptionStatus.Timeout; | |
217 | + switch (((HttpWebResponse)e.Response).StatusCode) | |
218 | + { | |
219 | + case (HttpStatusCode)999: | |
220 | + case HttpStatusCode.InternalServerError: | |
221 | + case HttpStatusCode.BadGateway: | |
222 | + return FetchResult.Status.Retry; | |
223 | + } | |
220 | 224 | throw; |
221 | 225 | case WebExceptionStatus.Timeout: |
222 | 226 | case WebExceptionStatus.ConnectionClosed: |