उपयोग करने का तरीका, सबसे पहले इस टेम्पलेट लाइब्रेरी का संदर्भ लें
प्रत्येक स्क्रिप्ट फ़ाइल में $.fileLineMark ((
यदि कोई नीतिगत त्रुटि रिपोर्ट की जाती है, तो स्वचालित रूप से एक लाल अक्षर दिखाई देता है जो बताता है कि कौन सी फाइल किस पंक्ति में है।
सिद्धांतः जेएस कोड लोड करने के लिए होस्ट करने का तरीका, सभी जेएस कोड को लोड करना है, जिसमें कक्षाएं शामिल हैं, एक बड़ी फ़ाइल में शामिल हैं; बड़ी फ़ाइल में प्रत्येक फ़ाइल का स्थान ढूंढें, और अंतिम त्रुटि के समय, उल्टा मेल खाता है, यानी विशिष्ट त्रुटि का पता लगाएं।
var fileStartLine = [] $.fileLineMark = function(file, line) { try{a=a+1}catch(ex){ var markline = parseInt(ex.stack.split('\n')[3].split('(__FILE__:')[1].split(')')[0]) fileStartLine.push([file, markline-line]) fileStartLine.sort(function(a, b){ return b[1] - a[1] }) } } $.tryfunc = function(func) { return function(a,b,c,d,e,f,g,h,i,j,k,l,m,n) { try { return func(a,b,c,d,e,f,g,h,i,j,k,l,m,n) } catch(ex) { if (ex.message == "execution timeout") { Log("忽略机器人停止指令") throw ex return } var line = parseInt(ex.stack.split('\n')[2].split('(__FILE__:')[1].split(')')[0]) for (var ii = 0; ii < fileStartLine.length; ii++) { if (line > fileStartLine[ii][1]) { Log("catch error at " + fileStartLine[ii][0] + ":" + (line-fileStartLine[ii][1])+"#ff0000") break } } throw ex } } } function onTick() { } function main() { $.fileLineMark("main", 41) onTick = $.tryfunc(onTick) while(true){ onTick() Sleep(1000) } }
घासयह दिलचस्प है, देखो।
घासयह संभव है, लेकिन यह उस समय नहीं था।
लेवियुआनहाहा, उल्टा सोचो कि आप अंदर क्या करते हैं - बिल्कुल सटीक नहीं है, लेकिन मददगार है।