Friday, 12 January 2018

C # عملية ويتفوريكسيت استثناء


C # بروسيس ويتفوريكسيت إكسبتيون
الحصول على فيا أب ستور قراءة هذه المشاركة في التطبيق لدينا!
ويتفوريكسيت () يلقي استثناء c #
أدناه هو رمز بلدي لبدء العملية، وضعت رابط للعرض فقط. أريد هذه العملية لتشغيل في الخلفية دون فتح المتصفح. أيضا الخط الثاني يلقي استثناء.
مرجع كائن لم يتم تعيين إلى مثيل كائن.
لأنه عندما تبدأ عملية بشكل غير مباشر لن تحصل على كائن عملية (ثم في عملية قضيتك هو دائما فارغة والسطر الثاني يلقي استثناء).
اسمحوا لي أن أشرح ما أعنيه بشكل غير مباشر: إذا كنت لا تحدد قابلة للتنفيذ ولكن كنت تعطي وثيقة (أو مورد) ثم سيتم تنفيذها من خلال الفعل قذيفة. في هذه الحالة قد تكون عملية (ري) المستخدمة. في هذه الحالات، ستعود عملية (ستارت () فارغة.
إنشاء مستند ورد فارغ 'c: \ test. docx'. إغلاق كافة مثيلات ورد. إكسكيوت Process. Start (@ "c: \ test. docx")؛ // ريتورنس a بروسيس سبيل المثال إكسكيوت Process. Start (@ "c: \ test. docx")؛ // ريتورنس نول.
يمكنك ببساطة حل هذا؟ عفيك لا يمكنك لأن عملية يستخدم شليكسكوتيكس مع هيكل شليكسيكوتينفو لبدء العملية. قراءة وثائق شليكسيكوتينفو لحقل هبروسيس سترى ما يلي:
مقبض إلى التطبيق الذي بدأ حديثا. يتم تعيين هذا العضو على العودة ودائما نول إلا إذا تم تعيين فماسك إلى SEE_MASK_NOCLOSEPROCESS. حتى إذا تم تعيين فماسك إلى SEE_MASK_NOCLOSEPROCESS، هبروسيس سيكون نول إذا لم يتم إطلاق أي عملية. على سبيل المثال، إذا كان المستند الذي سيتم تشغيله هو ورل ويتم تشغيل مثيل إنترنيت إكسبلورر بالفعل، فإنه سيتم عرض المستند. لا يتم إطلاق عملية جديدة، وسوف يكون هبروسيس نول. ملاحظة لا يقوم شليكسكوتيكس دائما بإرجاع هبروسيس، حتى إذا تم تشغيل عملية نتيجة المكالمة. على سبيل المثال، لا يعود هبروسيس عند استخدام SEE_MASK_INVOKEIDLIST لاستدعاء إكونتيكستمينو.
ملاحظة إذا كنت تقوم بتشغيل عملية جديدة فقط لفتح ورل والحصول على ملف تم إنشاؤه من جانب الخادم ثم يجب اتباع اقتراح داميان واستخدام WebClient. DownloadFile ().
يمكن لعملية. Start () إرجاع مرجع فارغ:
عودة نوع القيمة: System. Diagnostics. Process.
مكون عملية جديد مقترن بمورد العملية، أو فارغ، إذا لم يتم بدء تشغيل أي مورد عملية (على سبيل المثال، إذا تمت إعادة استخدام عملية موجودة).
عندما يحدث ذلك، ستحصل على نولريفيرنسكسيبتيون عند محاولة الاتصال ويتفوريكسيت ()

C # بروسيس ويتفوريكسيت إكسبتيون
الحصول على فيا أب ستور قراءة هذه المشاركة في التطبيق لدينا!
لماذا يقوم process. WaitForExit بإلقاء & كوت؛ أي عملية & كوت؛ استثناء حتى عندما تكون هناك عملية؟
لدي خدمة نوافذ تحتوي على هذا الرمز:
يتم تشغيل الغرض من هذه التعليمات البرمجية استخراج إفيلتر على وثيقة، ونحن نستخدم عملية منفصلة لأن بعض إفيلترس هي قاتلة السمعة.
الآن يعمل هذا الرمز بشكل جيد تماما على ويندوز 7 و سيرفر 2008 R2 مربعات ولكن على ويندوز سيرفر 2003 ويتيفوريكسيت يلقي فورا "لا توجد عملية المرتبطة مع هذا الكائن عملية" استثناء. العملية موجودة وتكمل مهمتها دون مشكلة.
أي شخص رأى هذا؟ يمكن لأي شخص تسليط أي ضوء على لماذا ويتفوريكسيت أن ثو هذا الخطأ؟
إذا وضعت هذه التعليمات البرمجية في تطبيق وحدة التحكم وتشغيله يعمل بشكل جيد على مربع ويندوز سيرفر 2003 كذلك، وبالتالي فإنه يبدو أن هناك مشكلة محددة تشغيل هذا في خدمة على مربع ويندوز سيرفر 2003.
عند بدء العمليات، مع فئة System. Diagnostics. Process، يمكن للنظام إما استخدام وظيفة كريتيبروسيس أو شليكسكوتيكس Win32. عند استخدام كريتيبروسيس الملفات التنفيذية فقط يمكن أن تبدأ. عند استخدام شليكسكوتيكس، أي ملف يمكن البدء باستخدام الأمر "ابدأ-> تشغيل" من القذيفة.
ومع ذلك هذه هي طرق مختلفة تماما لبدء العمليات. يحتوي شليكسكوتيكس على القشرة، ويمكن، على سبيل المثال، إعادة استخدام مثيل موجود من ورد أو إكسيل لفتح مستند، باستخدام المعلومات المخزنة ضمن هكر \ & لوت؛ بروجيد & غ؛ \ شل \ & لوت؛ فيرب & غ؛ مفتاح التسجيل. قد يتضمن ذلك على سبيل المثال استخدام ددي للبحث عن مثيل إكسيل موجود ثم تنشيطه.
راجع الوثائق الخاصة ب شليكسيكوتيكس's شليكسيكوتينفو:
لاحظ أن شليكسكوتيكس قد أو قد لا يعود هبروسيس اعتمادا على ما إذا كان قد تم بدء عملية جديدة. هذا هو السلوك الذي تراه.
كريتيبروسيس هو وظيفة مستوى أدنى ويخلق عملية مباشرة، وببساطة يمر الوسيطات المكافئة. فإنه يعود دائما مقبض العملية.
ملاحظة: منذ يبدو أن بدء تشغيل ملف قابل للتنفيذ، فمن المستغرب قليلا أنه لا يتم إرجاع هبروسيس بواسطة شليكسكوتيكس. ومع ذلك، إذا كنت ترغب في التأكد من الحصول على مقبض العملية، وذلك باستخدام وسشليكسكيوت = فالس هو الشيء الصحيح للقيام به.

C # بروسيس ويتفوريكسيت إكسبتيون
System. Diagnostics. Process SetupGUIProcess = نيو System. Diagnostics. Process ()؛
SetupGUIProcess. StartInfo = نيو System. Diagnostics. ProcessStartInfo (سترستارتمنوباث + & كوت؛ \\ بروغرامز \\ أكيز إنترناشونال \\ A2MC Setup. appref-مس & كوت؛)؛
عندما يحصل البرنامج على ويتفوريكسيت الخط فإنه يسبب استثناء & كوت؛ لا يرتبط أي عملية مع هذا الكائن & كوت ؛. تبدأ العملية موافق. أحاول الحصول على مؤشر ترابط الاتصال لمنع حتى يتم الخروج العملية. هل هذا هو الطريق الصحيح؟
2. انتظر التطبيق لإنهاء تثبيت باستخدام Process. WaitOne.
3. إطلاق إكسكوتابل كعملية أخرى (// ريسنتليستاليد إكس).
4. ويتفوربروسيس ()؛ (// إكسكوتابل نيم's بروسيس.
وضع علامة على إجابة بن زهي تشاو الاثنين، أكتوبر 5، 2009 8:16 ص.
جميع الردود.
وأنا على يقين من أن العملية لا تزال قيد التشغيل في الوقت ويتفوريكسيت يسمى. أنا أدرك أنني بدأت العملية عن طريق إشارة كليكونس. لقد حاولت هذا في جميع الطرق المختلفة التي يمكنك البدء في عملية ويحدث نفس الاستثناء. إذا بدأت العملية بمجرد تمرير المسار لبدء (). بدء عوائد فارغة. هل هناك طريقة أخرى لبدء التطبيق الذي تم تثبيته من قبل كليكونس تثبيت الدرع الأخرى التي من قبل المرجعية؟ وأود أن تكون مهتمة لمعرفة ما اذا كان يمكن استدعاء إيكس مباشرة. ربما ثم الدالة ويتفوريكسيت يعرف كائن العملية. هذا أمر محير. شكرا على الرد.
يتم تشغيل تطبيقات كليكونس باستخدام عنوان ورل لملف النشر (.application). لذلك يمكنك استخدام ويب كيريسترينغ المعلمة بناء الجملة:
ليس لدي خادم. أريد فقط أن ترسل الناس 2 تثبيت شيلدس مضغوط. أنها تثبيتها. واحدة من البرامج المثبتة يمكن استدعاء الآخر كعملية ثم منع والانتظار حتى يتم ذلك. لا يزال غير واضح بالنسبة لي ما يجب القيام به حتى أستطيع أن استدعاء البرنامج باستخدام سيتاكس أعلاه. هل أحتاج إلى قطع من أجل القيام بذلك؟ عندما تقول التوقف عن استخدام كليكونس. هل تقصد التوقف عن استدعائه بمرجعته أو هل تقصد التوقف عن استخدامه على الإطلاق واستخدام طريقة أخرى للدفع؟ أعتقد أنني حقا لا أفهم ما انقر مرة واحدة يعني. هل المصطلح انقر مرة واحدة فقط تغليف معنى جميع الدروع تثبيت عن طريق خيار نشر في فيسوال ستوديو؟ آمل أن ترى ما أنا تكافح. يجب أن يكون هناك شيء بسيط هنا أنا في عداد المفقودين.
أنا أتفق توتالي مع نوبوجز (الذي من المرجح جدا يفهم هذا أفضل مما أفعل). لذلك دعونا نفكر في هذا أنت و I. عند زيارة ورل لا إطلاق النار حتى عملية حية. يمكنك أن تطلب من الخادم لبعض البيانات ويعود بعض البيانات ومن ثم الخروج من حياتها. لا توجد حالة ثابتة مثل العملية التي يمكنك الوصول إليها. محاولة استخدام تطبيق كليكونس يستخدم عنوان ورل لذلك بالطبع ليس هناك عملية بسبب بالضبط ما ذهبت للتو من خلال. التوقف عن استخدام كليكونس.
إنشاء التطبيق للتثبيت من هذا القبيل.
نسميها مثل هذا.
انتظر مثل هذا.
لا أوافق على أن المشاركات تبتعد عن سؤالك. يستخدم المثال الخاص بك كليكونس، المشكلة الوحيدة التي تعاني منها يرجع ذلك إلى حقيقة أنك تستخدم كليكونس. هذا هو السبب يقول الناس. "التوقف عن استخدام كليكونس". ربما كنت لا تفهم ما هي كليكونس مقابل قابل للتنفيذ؟ هذا هو مثال بسيط جدا بالضبط ما كنت تحاول القيام به دون كليكونس.
شكرا مرة أخرى على الرد.
1. هل يشير النقر مرة واحدة إشارة إلى إكس؟ أود أن استدعاء إيكس. أنا فقط لا يمكن أن تجد في أي مكان على النظام إنتاليد على. هل هناك مسار محدد يتم وضعه عند تشغيل درع نشر انقر فوق تثبيت واحد؟
شكرا مرة أخرى على الرد.
1. هل يشير النقر مرة واحدة إشارة إلى إكس؟ أود أن استدعاء إيكس. أنا فقط لا يمكن أن تجد في أي مكان على النظام إنتاليد على. هل هناك مسار محدد يتم وضعه عند تشغيل درع نشر انقر فوق تثبيت واحد؟
هناك مشكلة منطقية مع أسئلتك.
إذا كنت بحاجة إلى تثبيت الحزمة، لم يكن لديك التعليمات البرمجية المصدر (وهذا هو السبب في أنني أفترض أن تستمر في محاولة لاستخدام كليكونس)، ثم كنت أساسا ميتا في الماء مع الاحتياجات الخاصة بك. أي مصدر = ملحمة تفشل.
آسف رجل أنا لا أحصل عليه. Let'a تذهب خطوة بخطوة.
1. دعونا نفترض كنت تعرف أين كان إيكس. قمت بإطلاقه مع عملية. وفقا ل # 2 هناك التبعيات، وبالتالي برنامجك يفجر. كيف تصلح هذا؟ تحتاج إلى تثبيت البرنامج قبل محاولة تشغيل إكس.
دعونا نفترض أنا لا أعرف أين إيكس هو (لأنني لا) لأنه لا يبدو أن يكون واحدا بعد تثبيت النقر مرة واحدة تثبيت الدرع. إذا كان هناك طريقة أخرى لجعل تثبيت شيلد حتى أن لدي إمكانية الوصول إلى إكس. هل يمكن أن يرجى تقديم الرابط إلى دوكومنتيون الذي يظهر كيف نفعل ذلك؟
لدي ملف الحل البرنامج الأصلي للاستوديو البصرية منذ أنا المؤلف. إذا قمت بإنشاء حزمة مثبت مسي وتمثالها خارجا كملف مسي مثلك أقول أنا ثم تكون قادرة على استدعاء إكس حتى عملية؟ حيث سيقع عليه؟ يمكنك توفير الارتباط إلى دوكومناتيون على كيفية إنشاء مسي إذا في الواقع فإنه سيتم تثبيت إكس؟
إذا كنت بحاجة إلى تثبيت الحزمة، لم يكن لديك التعليمات البرمجية المصدر (وهذا هو السبب في أنني أفترض أن تستمر في محاولة لاستخدام كليكونس)، ثم كنت أساسا ميتا في الماء مع الاحتياجات الخاصة بك. أي مصدر = ملحمة تفشل.
2. انتظر التطبيق لإنهاء تثبيت باستخدام Process. WaitOne.
3. إطلاق إكسكوتابل كعملية أخرى (// ريسنتليستاليد إكس).
4. ويتفوربروسيس ()؛ (// إكسكوتابل نيم's بروسيس.
وضع علامة على إجابة بن زهي تشاو الاثنين، أكتوبر 5، 2009 8:16 ص.
تقوم ميكروسوفت بإجراء استطلاع عبر الإنترنت لفهم رأيك لموقع مسن على الويب. إذا اخترت المشاركة، سيتم تقديم الاستبيان عبر الإنترنت لك عند مغادرة موقع مسن على ويب.

معالجة . طريقة ويتفوريكسيت (Int32)
تحتوي الوثائق المرجعية أبي على منزل جديد. انتقل إلى متصفح أبي على docs. microsoft للاطلاع على التجربة الجديدة.
يرشد مكون العملية إلى الانتظار لعدد الملي ثانية المحدد للعملية المقترنة للخروج.
الجمعية: النظام (في System. dll)
المعلمات.
مقدار الوقت، بالمللي ثانية، لانتظار انتهاء العملية المقترنة. الحد الأقصى هو أكبر قيمة ممكنة لعدد صحيح 32 بت، والذي يمثل اللانهاية لنظام التشغيل.
قيمة الإرجاع.
صحيح إذا خرجت العملية المرتبطة بها؛ خلاف ذلك، كاذبة.
تعذر الوصول إلى إعداد الانتظار.
لم يتم تعيين معرف العملية، ولا يمكن تحديد التعامل الذي يمكن تحديد الخاصية إد.
لا توجد عملية مقترنة كائن العملية هذه.
أنت تحاول الاتصال ويتفوريكسيت (Int32) لعملية قيد التشغيل على كمبيوتر بعيد. تتوفر هذه الطريقة فقط للعمليات التي يتم تشغيلها على الكمبيوتر المحلي.
ويتفوريكسيت (Int32) يجعل الانتظار مؤشر الترابط الحالي حتى ينتهي العملية المقترنة. وينبغي أن يسمى بعد أن يتم استدعاء جميع الطرق الأخرى على العملية. لتجنب حظر مؤشر الترابط الحالي، استخدم الحدث الذي تم الخروج منه.
تقوم هذه الطريقة بتوجيه مكون العملية لانتظار مقدار محدود من الوقت لإنهاء العملية. إذا لم يتم إنهاء العملية المقترنة بنهاية الفترة الزمنية بسبب رفض طلب الإنهاء، يتم إرجاع فالس إلى إجراء الاستدعاء. يمكنك تحديد رقم سلبي (لانهائي) لميلي ثانية، وعملية. سوف يتصرف ويتفوريكسيت (Int32) نفس الزائد ويتفوريكسيت (). إذا قمت بتمرير 0 (صفر) إلى الأسلوب، فإنه يرجع صحيح فقط إذا كانت العملية قد خرجت بالفعل؛ وإلا فإنه يعود فورا كاذبة.
في الإطار 3.5 والإصدارات السابقة، إذا كان ميلي ثانية واحدة -1، انتظر التحميل الزائد ويتفوريكسيت (Int32) ل ماكسفالو ميلي ثانية (حوالي 24 يوما)، وليس إلى أجل غير مسمى.
عند إعادة توجيه الإخراج القياسي إلى معالجات أحداث غير متزامنة، فمن الممكن أن معالجة الإخراج لم تكتمل عند إرجاع هذه الطريقة. لضمان اكتمال معالجة الحدث غير المتزامن استدعاء الزائد ويتفوريكسيت () الذي لا يأخذ أي معلمة بعد تلقي صحيح من هذا التحميل الزائد. للمساعدة في ضمان التعامل مع الحدث الذي تم الخروج منه بشكل صحيح في تطبيقات نماذج ويندوز، قم بتعيين الخاصية سينكرونيزينغوبجيكت.
عند إنهاء عملية مقترنة (يتم إيقاف تشغيلها بواسطة نظام التشغيل من خلال إنهاء عادي أو غير طبيعي)، يخزن النظام المعلومات الإدارية حول العملية ويعود إلى المكون الذي كان يسمى ويتفوريكسيت (Int32). يمكن لمكون العملية ثم الوصول إلى المعلومات، والتي تتضمن إكسيتيمي، باستخدام مقبض إلى العملية خرجت.
لأن العملية المرتبطة قد خرجت، الخاصية مقبض المكون لم يعد يشير إلى مورد عملية موجود. بدلا من ذلك، يمكن استخدام المقبض فقط للوصول إلى معلومات نظام التشغيل حول مورد العملية. النظام على بينة من مقابض للخروج من العمليات التي لم يتم إصدارها من قبل مكونات العملية، لذلك فإنه يحتفظ إكسيتيمي والتعامل مع المعلومات في الذاكرة حتى يقوم مكون العملية بتحرير الموارد على وجه التحديد. لهذا السبب، في أي وقت استدعاء بدء تشغيل مثيل عملية استدعاء إغلاق عند انتهاء العملية المقترنة ولم تعد بحاجة إلى أية معلومات إدارية حول هذا الموضوع. إغلاق يحرر الذاكرة المخصصة لعملية خرجت.
راجع مثال التعليمات البرمجية الخاصية إكسيتكود.
للحصول على الثقة الكاملة للمتصل الفوري. لا يمكن استخدام هذا العضو من خلال شفرة موثوق بها جزئيا.

C # بروسيس ويتفوريكسيت إكسبتيون
لقد أنشأت تطبيق وحدة التحكم واحد الذي يبدأ إيكس آخر مع مساعدة من process. Start () الأسلوب. ما أريد القيام به إذا كان في إيكس 2 رفع أي استثناء ثم ينبغي أن يكون الصيد في Exe1. فيما يلي الرمز الذي كتبت.
ثابت فواد مين (سترينغ [] أرجس)
سترينغ أرغمنتس = string. Empty؛
فوريتش (سترداتا سترداتا في أرجس)
سترينغ. فورمات (& كوت؛ & كوت ؛، أرغمنتس، سترداتا)؛
عملية نوتيباد = عملية جديدة ()؛
سيكوريسترينغ سيكور = نيو سيكوريسترينغ ()؛
فوريش (شار c إن & كوت؛ باسورد & كوت؛)
بروسيسستارتينفو ستارتينفو = نيو بروسيسستارتينفو ()؛
باستخدام (بروسيس إكسيبروسيس = Process. Start (ستارتينفو))
سترينغ. فورمات (& كوت؛ - & كوت ؛، & كوت؛ إكسبتيون ويث إن لونشمودلكاتالوجواب: & كوت ؛، ex. Message)، EventLogEntryType. Information)؛
ثابت فئة البرنامج.
ثابت فواد مين (سترينغ [] أرجس)
إذا أي استثناء رفع في إيكس 2 ثم ينبغي أن يكون الصيد في إيكس 1. كيف يمكنني أن أفعل هذا؟
شكرا مع تحياتي.
الاستثناءات هي ميزة داخل العملية تماما.
النموذج المعياري هو أن يكون للعائد القابل للتنفيذ رمز العودة من الطريقة الرئيسية. إذا عاد 0، ثم أنهى بنجاح، إذا كان يعود أي شيء آخر، ثم كان هناك خطأ. الرقم المحدد عاد يمكن استخدامها للدلالة على نوع من الخطأ. إذا كنت لا تهتم بإعلام أنواع مختلفة من الأخطاء ثم عاد واحد فقط.
للقيام بذلك، قم بتغيير الطريقة الرئيسية لتكون إنت رئيسي، بدلا من فواد الرئيسي. التفاف محاولة / الصيد حول كامل من الطريقة الرئيسية. في الصيد، والعودة 1، في نهاية المحاولة، والعودة 0.
يمكنك استخدام الخاصية إكسيتكود من فئة بروسيس لقراءة القيمة من تطبيق الاتصال.
ملحوظ كجواب من قبل دوي يويو مشرف الثلاثاء، 24 يناير، 2018 8:40 ص.
باستخدام process. Start لبدء عملية جديدة، ليس لديك أي وسيلة للقبض على الاستثناءات التي ألقيت في عملية أخرى. لذلك تحتاج بعض تقنيات الاتصال الداخلي (إيبك). يمكنك استخدام إما اتصالات عن بعد أو اتصالات ويندوز.
يمكنك العثور على العديد من المقالات على الشبكة على كيفية التقاط استثناء في تطبيقات العميل / الخادم.
آمل أن يكون هذا يساعدك.
يرجى وضع علامة على هذه المشاركة كجواب إذا حلت مشكلتك. برمجة سعيدة!
اقترح كرد من قبل ساراثي R الاثنين، 16 يناير 2018 10:43 ص ملحوظ كرد من قبل دوي يويو مشرف الثلاثاء، 24 يناير 2018 8:40 ص.
نهج بسيط آخر هو تسجيل الاستثناءات في ملف نصي وقراءته أينما تريد.
إذا كانت هذه المشاركة تجيب عن سؤالك، فالرجاء النقر على & كوت؛ وضع علامة كجواب & كوت؛ . إذا كانت هذه المشاركة مفيدة، فالرجاء النقر على & كوت؛ وضع علامة على أنها مفيدة & كوت؛ .
حرره دامي يويو مشرف الاثنين، 16 يناير، 2018 8:21 ص تحرير الرابط لإتاحته. ملحوظ كجواب من قبل دوي يويو مشرف الثلاثاء، 24 يناير، 2018 8:40 ص.
شكرا سيرفي، أن أعرف عن إكسيتكود ولقد تعبت أيضا. ولكن المشكلة هي أنني لا يمكن العودة استثناء بالضبط بمساعدة التعليمات البرمجية لأن لا أعرف استثناء أثار.
شكرا مع تحياتي.
يمكنك استخدام إما الإخراج القياسي، أو تيارات الخطأ القياسية لإرسال كميات أكبر من المعلومات. وفي هذه الحالة، سيكون الخطأ المعياري هو الأكثر منطقية. (يجب عليك استخدام هذا بالإضافة إلى رمز الخروج.) فقط طباعة استثناء إلى الخطأ القياسي في كتلة الصيد، إعادة توجيه الإخراج تيارات في برنامج الاتصال، وقراءة في تيار الخطأ (تجاهل ذلك إذا كنت تحصل على رمز الخروج من 0).
تأكد من البحث عن حالة توقف تام عند قراءة الإخراج من عملية، خاصة إذا كانت القراءة من تيارات مختلفة. توضح صفحة مسن في العملية بعض المزالق الشائعة.
ملحوظ كجواب من قبل دوي يويو مشرف الثلاثاء، 24 يناير، 2018 8:40 ص.
جميع الردود.
باستخدام process. Start لبدء عملية جديدة، ليس لديك أي وسيلة للقبض على الاستثناءات التي ألقيت في عملية أخرى. لذلك تحتاج بعض تقنيات الاتصال الداخلي (إيبك). يمكنك استخدام إما اتصالات عن بعد أو اتصالات ويندوز.
يمكنك العثور على العديد من المقالات على الشبكة على كيفية التقاط استثناء في تطبيقات العميل / الخادم.
آمل أن يكون هذا يساعدك.
يرجى وضع علامة على هذه المشاركة كجواب إذا حلت مشكلتك. برمجة سعيدة!
اقترح كرد من قبل ساراثي R الاثنين، 16 يناير 2018 10:43 ص ملحوظ كرد من قبل دوي يويو مشرف الثلاثاء، 24 يناير 2018 8:40 ص.
نعم هذا هو مفهوم جيد جدا. لقد طبقت أحد مشروعي السابق. لديك من خلال استثناء وعليك أن قبض عليه في فئة المستمدة استثناء. يمكنني أن أعطي مثالا. يمكنك التحقق من الارتباط كوديبروجيكت / كب / دوتنيت / unhandledexceptions. aspx.
يرجى تذكر النقر على & لدكو؛ وضع علامة كجواب & رديقو؛ على المشاركة التي تساعدك، وهذا يمكن أن يكون مفيدا لأعضاء المجتمع الآخرين قراءة الموضوع.
حرره كاشنيتديف الخميس 12 يناير 2018 6:26 ص.
شكرا أدافيش وكاش.
الاستثناءات هي ميزة داخل العملية تماما.
النموذج المعياري هو أن يكون للعائد القابل للتنفيذ رمز العودة من الطريقة الرئيسية. إذا عاد 0، ثم أنهى بنجاح، إذا كان يعود أي شيء آخر، ثم كان هناك خطأ. الرقم المحدد عاد يمكن استخدامها للدلالة على نوع من الخطأ. إذا كنت لا تهتم بإعلام أنواع مختلفة من الأخطاء ثم عاد واحد فقط.
للقيام بذلك، قم بتغيير الطريقة الرئيسية لتكون إنت رئيسي، بدلا من فواد الرئيسي. التفاف محاولة / الصيد حول كامل من الطريقة الرئيسية. في الصيد، والعودة 1، في نهاية المحاولة، والعودة 0.
يمكنك استخدام الخاصية إكسيتكود من فئة بروسيس لقراءة القيمة من تطبيق الاتصال.
ملحوظ كجواب من قبل دوي يويو مشرف الثلاثاء، 24 يناير، 2018 8:40 ص.
شكرا سيرفي، أن أعرف عن إكسيتكود ولقد تعبت أيضا. ولكن المشكلة هي أنني لا يمكن العودة استثناء بالضبط بمساعدة التعليمات البرمجية لأن لا أعرف استثناء أثار.
شكرا مع تحياتي.
نهج بسيط آخر هو تسجيل الاستثناءات في ملف نصي وقراءته أينما تريد.
إذا كانت هذه المشاركة تجيب عن سؤالك، فالرجاء النقر على & كوت؛ وضع علامة كجواب & كوت؛ . إذا كانت هذه المشاركة مفيدة، فالرجاء النقر على & كوت؛ وضع علامة على أنها مفيدة & كوت؛ .
حرره دامي يويو مشرف الاثنين، 16 يناير، 2018 8:21 ص تحرير الرابط لإتاحته. ملحوظ كجواب من قبل دوي يويو مشرف الثلاثاء، 24 يناير، 2018 8:40 ص.
شكرا سيرفي، أن أعرف عن إكسيتكود ولقد تعبت أيضا. ولكن المشكلة هي أنني لا يمكن العودة استثناء بالضبط بمساعدة التعليمات البرمجية لأن لا أعرف استثناء أثار.
شكرا مع تحياتي.
يمكنك استخدام إما الإخراج القياسي، أو تيارات الخطأ القياسية لإرسال كميات أكبر من المعلومات. وفي هذه الحالة، سيكون الخطأ المعياري هو الأكثر منطقية. (يجب عليك استخدام هذا بالإضافة إلى رمز الخروج.) فقط طباعة استثناء إلى الخطأ القياسي في كتلة الصيد، إعادة توجيه الإخراج تيارات في برنامج الاتصال، وقراءة في تيار الخطأ (تجاهل ذلك إذا كنت تحصل على رمز الخروج من 0).
تأكد من البحث عن حالة توقف تام عند قراءة الإخراج من عملية، خاصة إذا كانت القراءة من تيارات مختلفة. توضح صفحة مسن في العملية بعض المزالق الشائعة.
ملحوظ كجواب من قبل دوي يويو مشرف الثلاثاء، 24 يناير، 2018 8:40 ص.
تقوم ميكروسوفت بإجراء استطلاع عبر الإنترنت لفهم رأيك لموقع مسن على الويب. إذا اخترت المشاركة، سيتم تقديم الاستبيان عبر الإنترنت لك عند مغادرة موقع مسن على ويب.

No comments:

Post a Comment