החזרה (return) רק במקרה מסויים.
-
דוגמה:
using Microsoft.CSharp; using System; using System.CodeDom.Compiler; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CSIDEReference { public class Compiler { public CompilerErrorCollection Compile(string OutputFile, string ClassPath) { CSharpCodeProvider codeProvider = new CSharpCodeProvider(); ICodeCompiler icc = codeProvider.CreateCompiler(); string Output = OutputFile; CompilerParameters parameters = new CompilerParameters(); //Make sure we generate an EXE, not a DLL parameters.GenerateExecutable = true; parameters.OutputAssembly = Output; CompilerResults results = icc.CompileAssemblyFromSource(parameters, ClassPath); if (results.Errors.Count > 0) { return results.Errors; } } } }
נסביר את הקוד:
קוד זה הוא קוד שמקמפל קובץ שנותנים לו.
הקוד יגרור שגיאה:
Compiler.Compile(string, string): not all code paths return a value
הפתרון לשגיאה הוא להוסיף בסוף הפונקציה את הקוד הזה:else { return null; }
פורסם במקור בפורום CODE613 ב25/10/2016 10:43 (+03:00)
-
שלום למתכנת.
הערה קטנה, בדרך כלל מקובל לזרוק שגיאות כ throw, באופן כללי תשתדל להימנע מפונצקיה שתפקידה "להחזיר" שגיאות, שגיאה איננה פירסט קלאס בתיכנות, היא מקרה שאנו מניחים שלא אמור לקרות, כלומר מניחים אותו כחריג. וחריג מטופל באמצעות throw. אם אתה רוצה שהפונקציה תחזיר מידע אודות ביצוע הפעולה, תוכל להחליט שהיא מחזירה ערך בוליאני.פורסם במקור בפורום CODE613 ב17/01/2017 00:13 (+02:00)