[Error]EOL while scanning string literal
專案中有個定時任務,每天取到一些表資料傳到一個外部介面,但是最近總是有異常,今天查了下原因。
首先本地和測試環境測試這個程式都沒問題,只有線上環境會在日誌中丟擲異常,猜測異常主要產生的原因是資料的異常。
但是哪些資料有異常,由不得而知,於是增加了程式的輸出日誌和資料列印,通過幾次的執行定位了發生錯誤的函式和資料記錄。
異常是這樣的:
EOL while scanning string literal: <string>, line 1, pos 7
google一下,這個異常造成的原因是字串,引號沒有成對出現,也就是類似下面的情況
str('1) Traceback (most recent call last): File "<string>", line 1, in <fragment> EOL while scanning string literal: <string>, line 1, pos 7
想一想程式中是沒有這樣的問題,那問題就來自資料庫中的記錄了,經過排查發現數據庫中有個欄位最大長度是65k,而存入的資料大於65k,整個字串就被截斷了。
整個字串不是一般的字串,而是一個字典的字元形式,類似 str(dictA)
dicA某個key或者是value正好被截斷 例如從{“name”:“orangleiu”} 截斷為 {"name":"orang
所以在取出來的轉換成str型別的時候就報錯了。
加上異常處理和欄位增長長度解決了問題。
相關推薦
[Error]EOL while scanning string literal
專案中有個定時任務,每天取到一些表資料傳到一個外部介面,但是最近總是有異常,今天查了下原因。 首先本地和測試環境測試這個程式都沒問題,只有線上環境會在日誌中丟擲異常,猜測異常主要產生的原因是資料的異常。 但是哪些資料有異常,由不得而知,於是增加了程式的輸出日誌和資料列印,
生成apk檔案遇到的編譯問題error: format not a string literal and no format arguments
編譯錯誤時使用的android-ndk為r9的版本,報以下錯誤: "Compile++ thumb : cocosdenshion_static <= SimpleAudioEngine.cp
Error format not a string literal and no format arguments解決方案
場景: cocos2dx 跨平臺開發, 移植Android版本時, 當進行到build_native.sh步驟後 ndk版本: android-ndk-r9 開發環境: mac os 64bit, Android+Eclipse BUG: CCCommon
ERROR: yaml.scanner.ScannerError: while scanning for the next token found character '\t' that cannot
fabric部署時報錯: ERROR: yaml.scanner.ScannerError: while scanning for the next token found character '\t' that cannot start any token in "./docke
【總算解決了】A network-related or instance-specific error occurred while establishing a connection to SQL Server
sql tle sqlserve 不知道 程序 tar ace product 自己的 給別人做的網站莫名其妙連接不上數據庫。百度了好多,總算知道自己的錯在哪了。 報 “A network-related or instance-specific error occ
【sqli-labs】 less11 POST - Error Based - Single quotes- String (基於錯誤的POST單引號字符型註入)
min blog 查看 字符 str rom 輸入 single 優先級 查看源碼,用戶名和密碼通過post提交 加單引號提交 出現報錯,推測對應的SQL語句 select ... from ... where xxx=‘‘‘ and yyy=‘123‘ limi
【sqli-labs】 less12 POST - Error Based - Double quotes- String-with twist (基於錯誤的雙引號POST型字符型變形的註入)
div 圖片 pos log 技術分享 base class limit color 加個雙引號 通過報錯信息猜測SQL語句 select ... from ... where xxx=("") and yyy=("") limit 0,1 將括號閉合掉,通過註
Eclipse maven 錯誤修正方法:An error occurred while filtering resources
res clas while 發現 log filter lean mvn style 最近打開Eclipse後發現項目報紅叉,解決辦法如下: 1.eclipse中刪除該項目(註意:不要刪除代碼) 2.cmd,進入到項目目錄下,執行命令:mvn eclipse:clean
[ERROR] An error occurred while running npm i (exit code 1): code400
depend img ova seve http done nbsp ike ack 國慶來了,npm 的命令都不可以用:我新建了一個ionic的項目 ionic start ionc tabs 出現了這個報錯:如下: PS G:\lianxi\myionic02>
【Android】AS警告解決方法:String literal in setText can not be translated. Use Android resources instead.
轉載請註明出處,原文連結:https://blog.csdn.net/u013642500/article/details/80166941 【錯誤】 String literal in setText can not be translated. Use Android reso
ERROR 1366 (HY000): Incorrect string value: '\xA6' for column 'jy_message' at row 1
這個問題是字符集導致的 檢視資料庫字符集 mysql> show variables like 'character%'; +--------------------------+-----------------------------------------+ |
mysql匯入資料表中出現ERROR 1366 (HY000): Incorrect string value
【一】問題: 給mysql資料庫匯入資料的過程中,總是出現:ERROR 1366 (HY000): Incorrect string value 如下示: 【二】解決方法: set names gbk //設定客戶端的編碼格式,也就是你敲入的是什麼編碼的,客戶端會自
ERROR 1366 (HY000):Incorrect string value解決方案
我的電腦win7 64位,這個問題可能是所有win系統出現的問題 我出現的問題: 是正確的 出現了中文的張三,則錯誤,編碼錯誤 我嘗試的策略: 1設定客戶端地連線編碼格式. (命令: set names 'gbk') 2修改資料庫配置檔案編碼: &
新特性(4)---Foreach,String Literal
Foreach foreach是新引入的一種for迴圈形式,常見語法如下: decl是coll集合中每個元素的宣告 for(decl: coll) { //run } for的轉換 對於集合種提供成員函式如begin(),或者end()等產生的foreach如下
第一次使用jupyter建立python時錯誤:Creating Notebook Failed An error occurred while creating a new notebook.
當我們用命令列在瀏覽器中啟動jupyter notebook後需要點選右上角的New建立新的python檔案,此時會報錯。在Linux下可以用命令列解決這個問題。首先需要找到anaconda2中jupyter檔案,在anaconda2中的share檔案中,對jupyter執行如下命令,來修改jupy
Linux MySQl 5.7.17 MySQL ERROR 1366(HY000):Incorrect string value 解決方法
MySQL ERROR 1366(HY000):Incorrect string value,在往資料庫中插入中文的時候會出現。這也就是編碼問題,網上大部分都是說設定下配置檔案中的設定,而可悲的是在我的環境中配置檔案是不允許修改,或者說和其他版本的不同。大家都知道中文常用的編碼方式是gbk或者utf-8。我建
A problem occurred configuring project ':CordovaLib'. An error occurred while running subprocess
H:\IonicSpace\MyApp>"I:\Program Files\Java\jdk1.8.0_73/bin/java.exe" "-Dorg.gradle.appname=gradlew" -classpath "H:\IonicSpace
weblogic異常 之 Caused by: java.io.IOException: [DeploymentService:290066]Error occurred while download
/weblogic/jdk1.7.0_67//bin/java -server -Xms256m -Xmx512m -XX:MaxPermSize=128m -Dweblogic.Name=server_7004 -Djava.security.polic
資料庫插入中文異常——ERROR 1366 (HY000): Incorrect string value: '\xD6\xD0\xCE\xC4' for column XXX at row 1
本文轉載自https://blog.csdn.net/bluesliusmile/article/details/78584277?locationNum=10&fps=1 在用以下方法之前,請先執行下面命令檢視。 show variables like 'character
POI 追加寫入word文件,POI如何寫入word文件(親測有效),POI報錯Fail to save: an error occurs while saving the package
一、POI寫入word文件 首先參考W3Shool的教程(上述快速指南)的“Apache POI Word - 文件”一節,對於建立文件和寫入段落都有清晰的闡釋。我不再贅述。但是其寫入段落的方式每次都會覆蓋曾經寫入的內容。那麼經過我探索一番要這麼處理... 二、POI