问题列表 - 第39666页

在PHP中冒泡异常?

我正在用PHP制作简单的纸牌游戏.当用户尝试播放卡片时,如果可以/不可以,我想抛出异常.而不是返回具有特定含义的数字(例如1表示坏卡,2表示轮到你...等等),我想使用自定义异常.我会捕获这些异常并向用户显示消息.

我意识到异常是出于异常错误的意思,但我认为这是设计程序的好方法.

问题是:我的例外没有被捕获.我有一个名为play.php的页面,它控制一个名为Game的类,它有一个抛出异常的Round.play.php页面从游戏中获取回合,并对其进行函数调用.但是,它说这个例外没有被发现.

这是一个快速解决方案吗?如何将Round类中的异常冒泡到play.php页面?

// in PLAY.php
try {
    $game->round->startRound($game->players);
} catch (RoundAlreadyStartedException $e) {
    echo $e->getMessage();
}

// in ROUND class
        if (!($this->plays % (self::PLAYS_PER_ROUND + $this->dealer))) {
            try {
                throw new RoundAlreadyStartedException();
            } catch (RoundAlreadyStartedException $e) {
                throw $e;
            }
            return;
        }
Run Code Online (Sandbox Code Playgroud)

我试过捕捉,不捕捉,投掷,重新抛出等等.

php exception

4
推荐指数
1
解决办法
4834
查看次数

在C#中用"逗号和逗号"IEnumerable的更好方法

可能重复:
LINQ列表到句子格式(插入逗号&"和")

想象一下这些输入和结果:

[] -> ""

["Hello World!"] -> "Hello World!"

["Apples", "bananas"] -> "Apples, and bananas" (put your grammar books away)

["Lions", "Tigers", "Bears"] -> "Lions, Tigers, and Bears" (oh my!)
Run Code Online (Sandbox Code Playgroud)

现在,想象一下输入都是IEnumerable<string>.有什么好处(哪里好可能包含"小而整齐","易于理解","使用LINQ的全部功能",或其他只要有理由)在C#中编写一个函数来执行此操作?我真的想避免"强制循环"方法.

我目前的方法如下:

string Commaize (IEnumerable<string> list) {
    if (list.Count() > 1) {
        list = list.Take(list.Count() - 2).Concat(
            new[] { list.Reverse().Take(2).Reverse()
                        .Aggregate((a, b) => a + " and " + b) });
    }
    return String.Join(", ", list.ToArray());
}
Run Code Online (Sandbox Code Playgroud)

但它感觉不是很"好".这是针对.NET3.5所以ToArray()这里需要这个位.如果list为null,则结果为UB.

c# linq string join

0
推荐指数
1
解决办法
697
查看次数

在构建日历应用程序时,我应该在数据库中存储日期或重复规则吗?

我正在构建一个日历网站(ASP.NET MVC)应用程序(想想outlook的简单版本),我想开始支持重复出现的日历事件(每月,每年等)

现在我正在存储我的实际日期,但我想弄清楚是否重复,是否有意义继续存储日期(有一些明显的截止),或者我应该存储重复选项并在运行中生成日期.

它让我思考Outlook,谷歌邮件等是如何做这个或任何其他支持重复日历项目的服​​务.

对此有什么建议吗?

c# icalendar recurrence calendar

29
推荐指数
3
解决办法
1万
查看次数

在Android中检测物理菜单键按下

我试图检测Android手机上的物理菜单按钮何时被按下.我虽然下面的代码可以工作,但事实并非如此.我哪里出错了?

返回的错误是'onKeyDown参数的非法修饰符; 只允许决赛'

public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_MENU) {
        // Do Stuff
    } else {
        return super.onKeyDown(keyCode, event);
    }
}
Run Code Online (Sandbox Code Playgroud)

android button

40
推荐指数
4
解决办法
4万
查看次数

&(&符号)和&&或|之间的区别 (管道)和|| 在Objective-C?

我想知道Objective-C是否关心我是否写了&或&&?我相信一个与号(&)将会或应该导致如果LEFT侧已经为假,那么右侧将不会被评估.

这适用于Objective-C吗?

syntax objective-c operators

8
推荐指数
1
解决办法
9501
查看次数

基于零的索引在MATLAB中可用

C中n长度数组的索引是0:N-1.而在MATLAB中它是从1:N

现在,我对C风格的索引感觉更舒服.有没有办法告诉MATLAB,通过在我的MATLAB脚本中包含一些命令或其他什么来采用C风格的索引而不是传统的1:N索引?

matlab

18
推荐指数
3
解决办法
2万
查看次数

URL和URI之间的区别?

可能重复:
URI和URL之间有什么区别?

只是为了正确:

URI =告诉你应该去哪个酒店睡觉.

URL =告诉你应该去哪个酒店的哪个房间睡觉.

所以URL更具体,它指向最终目的地.你想要的东西.虽然URI很奇怪.

那么,当URI不是URL时究竟是什么?真正的区别是什么?

url uri

36
推荐指数
2
解决办法
6万
查看次数

如何从元素中获取第二个类名?

我试图找出如何检索类属性的第二个类名.

例如,拥有:

<div class="something fooBar"></div>
Run Code Online (Sandbox Code Playgroud)

如何获得名为"fooBar"的第二个类?

我知道你可以添加,删除和检查特定的类,但我找不到文档如何将第二个类检索到变量中.

jquery class

60
推荐指数
4
解决办法
8万
查看次数

使用Oracle SQL生成嵌套XML

朋友们,

我正在使用Oracle 10g,我需要使用以下xml格式的SQL从表生成结果:

<RESULTS>
    <ROW>
        <EMPNO>7839</EMPNO>
        <ENAME>KING</EMPNO>
        <SUBROWS>
            <ROW>
                <EMPNO>7369</EMPNO>
                <ENAME>SMITH</EMPNO>
                ... Rest of the EMP table records
                excluding KING
            </ROW>
        </SUBROWS>
    </ROW>
</RESULTS>
Run Code Online (Sandbox Code Playgroud)

规则是显示在外部行中选择的记录,子行应包含除外部行中显示的记录之外的所有其他记录.记录没有层次结构.

在上面的示例中,在外部行中选择了King,因此子行应包含来自emp的所有记录,不包括King.

这个查询给了我需要的结果集:

select e.empno,
       e.ename,
       cursor(select empno,
                     ename
              from emp where empno <> 7839) 
from emp e 
where empno = 7839
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用以下方法从此生成XML时:

select xmlelement("RESULTS",
           xmlagg(xmlelement("ROW",
                      xmlelement("EMPNO", empno),
                      xmlelement("ENAME", ename),
                          cursor(SELECT xmlagg(xmlelement("SUBROWS",  xmlelement("ROW",
                                                     xmlelement("EMPNO", empno),
                                                     xmlelement("ENAME", ename)
                                                                                )
                                                           )
                                               )
                                  FROM emp 
                                  WHERE empno <> 7839
                                  )                            
                            )

                 )
                 )                 
from emp 
where empno = 7839 …
Run Code Online (Sandbox Code Playgroud)

sql oracle oracle10g

7
推荐指数
1
解决办法
2万
查看次数

Eclipse中的代码生成

eclipse,velocity或jet模板中最有用的代码生成工具是什么?任何人都有这方面的经验,知道赞成和利弊?

eclipse code-generation code-templates eclipse-m2t-jet

3
推荐指数
1
解决办法
478
查看次数