OSDN Git Service

JSON解析時のエラー処理追加
authorsyo68k <syo68k@users.sourceforge.jp>
Tue, 26 Apr 2011 12:31:44 +0000 (21:31 +0900)
committerKimura Youichi <kim.upsilon@bucyou.net>
Sat, 18 Feb 2012 14:19:26 +0000 (23:19 +0900)
Tween/Google.vb
Tween/Thumbnail.vb

index 0929934..62eeca5 100644 (file)
@@ -196,7 +196,14 @@ Public Class Google
         Dim content As String = ""
         If http.GetData(apiurl, headers, content) Then
             Dim serializer As New DataContractJsonSerializer(GetType(TranslateResponse))
-            Dim res As TranslateResponse = CreateDataFromJson(Of TranslateResponse)(content)
+            Dim res As TranslateResponse
+
+            Try
+                res = CreateDataFromJson(Of TranslateResponse)(content)
+            Catch ex As Exception
+                ErrMsg = "Err:Invalid JSON"
+                Return False
+            End Try
 
             If res.ResponseData Is Nothing Then
                 ErrMsg = "Err:" + res.ResponseDetails
@@ -221,8 +228,12 @@ Public Class Google
         Dim content As String = ""
         If http.GetData(apiurl, headers, content) Then
             Dim serializer As New DataContractJsonSerializer(GetType(LanguageDetectResponse))
-            Dim res As LanguageDetectResponse = CreateDataFromJson(Of LanguageDetectResponse)(content)
-            Return res.ResponseData.Language
+            Try
+                Dim res As LanguageDetectResponse = CreateDataFromJson(Of LanguageDetectResponse)(content)
+                Return res.ResponseData.Language
+            Catch ex As Exception
+                Return ""
+            End Try
         End If
         Return ""
     End Function
index 3b7a155..db1805b 100644 (file)
@@ -2259,7 +2259,13 @@ Public Class Thumbnail
         If (New HttpVarious).GetData(apiurl, Nothing, src, 0, args.errmsg, GetUserAgentString()) Then
             Dim sb As New StringBuilder
             Dim serializer As New DataContractJsonSerializer(GetType(PicPlzDataModel.ResultData))
-            Dim res As PicPlzDataModel.ResultData = CreateDataFromJson(Of PicPlzDataModel.ResultData)(src)
+            Dim res As PicPlzDataModel.ResultData
+
+            Try
+                res = CreateDataFromJson(Of PicPlzDataModel.ResultData)(src)
+            Catch ex As Exception
+                Return False
+            End Try
 
             If res.Result = "ok" Then
                 Try