Example #1
0
            public async override Task Run(Hashtable h)
            {
                try
                {
                    Hashtable hashtable = h;
                    bool      realif    = Convert.ToBoolean((await resulter.Run(hashtable)).value);
                    while (realif)
                    {
                        Hashtable hh = Variable.GetOwnVariables(hashtable);
                        foreach (Sentence s in childsentences)
                        {
                            try
                            {
                                await s.Run(hh);
                            }
                            catch (Exceptions.BreakException)
                            {
                                break;
                            }
                            catch (Exceptions.ContinueException)
                            {
                                continue;
                            }
                            catch (Exception ex)
                            {
                                throw ex;
                            }
                        }
                        realif = Convert.ToBoolean((await resulter.Run(hashtable)).value);
                    }
                }

                catch (Exception ex)
                {
                    if (ex is Exceptions.ISysException)
                    {
                        throw ex;
                    }
                    throw new Exception(ex.Message + Environment.NewLine + "位置:" + mycode);
                }
            }
Example #2
0
 public async override Task Run(Hashtable h)
 {
     try
     {
         Variable result = await resulter.Run(h);
     }
     catch (Exception ex)
     {
         if (ex is Exceptions.ISysException)
         {
             throw ex;
         }
         throw new Exception(ex.Message + Environment.NewLine + "位置:" + mycode);
     }
 }
Example #3
0
            public async override Task Run(Hashtable h)
            {
                try
                {
                    Hashtable hashtable = Variable.GetOwnVariables(h);
                    Variable  ss        = await resulter.Run(hashtable);

                    foreach (var item in (ss.value as Glist))
                    {
                        try
                        {
                            Hashtable nhashtable = Variable.GetOwnVariables(h);
                            if (var_new)
                            {
                                nhashtable.Add(fzvar, item);
                            }
                            else
                            {
                                nhashtable[fzvar] = item;
                            }
                            foreach (Sentence s in childsentences)
                            {
                                await s.Run(nhashtable);
                            }
                        }
                        catch (Exceptions.BreakException)
                        {
                            break;
                        }
                        catch (Exceptions.ContinueException)
                        {
                            continue;
                        }
                        catch (Exception ex)
                        {
                            throw ex;
                        }
                    }
                }
                catch (Exception ex)
                {
                    if (ex is Exceptions.ISysException)
                    {
                        throw ex;
                    }
                    throw new Exception(ex.Message + Environment.NewLine + "位置:" + mycode);
                }
            }
Example #4
0
 public async override Task Run(Hashtable htcs)
 {
     try
     {
         throw new Exceptions.ReturnException()
               {
                   toreturn = await resulter.Run(htcs)
               };
     }
     catch (Exception ex)
     {
         if (ex.GetType() == typeof(Exceptions.ReturnException))
         {
             throw ex;
         }
         throw new Exception(ex.Message + Environment.NewLine + "位置:" + mycode);
     }
 }
Example #5
0
            public async override Task Run(Hashtable h)
            {
                try
                {
                    Hashtable hashtable = Variable.GetOwnVariables(h);
                    realif = Convert.ToBoolean((await resulter.Run(h)).value);
                    if (realif)
                    {
                        foreach (Sentence then in thensentences)
                        {
                            await then.Run(hashtable);
                        }
                        return;
                    }
                    foreach (New_Sentence_if s in elseifsentences)
                    {
                        await s.Run(h);

                        if (s.realif)
                        {
                            return;
                        }
                    }

                    if (!realif && elsesentences != null)
                    {
                        foreach (Sentence e in elsesentences)
                        {
                            await e.Run(hashtable);
                        }
                    }
                }
                catch (Exception ex)
                {
                    if (ex is Exceptions.ISysException)
                    {
                        throw ex;
                    }

                    throw new Exception(ex.Message + Environment.NewLine + "位置:" + mycode);
                }
            }