2015-07-06 7 views
10

द्वारा निकाला गया अपवाद नहीं पकड़ सकता निम्नलिखित कोड एक अपवाद फेंकता है जिसे मैं किसी भी कारण से नहीं पकड़ सकता।कार्बन

try { 
    $this->date = \Carbon\Carbon::parse($this->date)->toDateString(); 
} 
catch (Exception $err) { 
    $this->date = \Carbon\Carbon::parse("January 1st 1900")->toDateString(); 
} 

अब, अगर मैं एक समारोह के बंद होने में मेरी मार्गों फ़ाइल में इस डाल दिया, यह ठीक काम करता है। जब मॉडल से इसे बुलाया जाता है तो यह केवल अपवाद फेंक रहा है।

exception 'Exception' with message 'DateTime::__construct(): Failed to parse time string (Summer 2015) at position 0 (S): The timezone could not be found in the database' in /home/vagrant/www/steamcompare/vendor/nesbot/carbon/src/Carbon/Carbon.php:222

किसी और कार्बन के साथ इस मुद्दे हुआ है?

उत्तर

28

प्रश्न उठाने के तुरंत बाद, मैंने जवाब के बारे में सोचा। चूंकि मैंने एक बहुत ही समान मुद्दे के बारे में बहुत सी पोस्ट ऑनलाइन देखी हैं, मुझे लगा कि मैं आगे बढ़ूंगा और इसका जवाब दूंगा।

समस्या नामस्थान था। कार्बन मेरे ऐप से स्पष्ट नामस्थान में चल रहा था (जाहिर है) इसलिए जब मैंने catch (Exception) की कोशिश की तो मैं वास्तव में अपने ऐप के नामस्थान में अपवाद पकड़ने की कोशिश कर रहा था। कैच स्टेटमेंट को catch (\Exception) पर बदलकर इसे हल किया गया।

मुझे उम्मीद है कि यह इस पृष्ठ पर समाप्त होने वाले किसी भी व्यक्ति की सहायता करेगा।

+3

जब आप यहां अपने प्रश्न का उत्तर दे रहे हैं तो आपको अपने उत्तर को सही उत्तर के रूप में चिह्नित करना चाहिए :) – alexrussell

+2

मैं एक बार प्रश्न पूछने वाले टाइमर को दूर कर दूंगा। – Nathan

+2

आह क्षमा करें एहसास नहीं था कि एक था। – alexrussell

संबंधित मुद्दे