Python论坛  - 讨论区

标题:[python-chinese] try语句在什么情况下使用?

2006年01月07日 星期六 10:51

tcgy2004 tcgy2004 at tom.com
Sat Jan 7 10:51:07 HKT 2006

请教高手
在什么情况下使用try语句,except的类型怎么选择?使用try有什么好处?


感谢!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060107/21a688a9/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年01月07日 星期六 11:40

xxmplus xxmplus at gmail.com
Sat Jan 7 11:40:47 HKT 2006

避免大量的错误处理插在程序逻辑中。etc

在 06-1-7,tcgy2004<tcgy2004 at tom.com> 写道:
>
> 请教高手
> 在什么情况下使用try语句,except的类型怎么选择?使用try有什么好处?
>
>
> 感谢!
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to
> python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to
> python-chinese-request at lists.python.cn
> Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
>
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年01月07日 星期六 14:08

limodou limodou at gmail.com
Sat Jan 7 14:08:25 HKT 2006

在 06-1-7,tcgy2004<tcgy2004 at tom.com> 写道:
>
> 请教高手
> 在什么情况下使用try语句,except的类型怎么选择?使用try有什么好处?
>

找本教材好好看一看,异常处理是面向对象中一个非常有用的东西。但也不是一两句就说得清楚的。

--
I like python!
My Blog: http://www.donews.net/limodou
NewEdit Maillist: http://groups.google.com/group/NewEdit

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年01月07日 星期六 14:49

shhgs shhgs.efhilt at gmail.com
Sat Jan 7 14:49:56 HKT 2006

有可能出问题,而且知道该怎么解决的时候用


On 1/7/06, limodou <limodou at gmail.com> wrote:
> 在 06-1-7,tcgy2004<tcgy2004 at tom.com> 写道:
> >
> > 请教高手
> > 在什么情况下使用try语句,except的类型怎么选择?使用try有什么好处?
> >
>
> 找本教材好好看一看,异常处理是面向对象中一个非常有用的东西。但也不是一两句就说得清楚的。
>
> --
> I like python!
> My Blog: http://www.donews.net/limodou
> NewEdit Maillist: http://groups.google.com/group/NewEdit
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年01月08日 星期日 00:54

黑沙 fred.li.1979.m.bj.prc at gmail.com
Sun Jan 8 00:54:27 HKT 2006

还有一个用途是可以返回多个结果给调用者
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060108/4c031b46/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年01月09日 星期一 22:16

Davies Liu davies.liu at gmail.com
Mon Jan 9 22:16:23 HKT 2006

返回多个结果用不着使用这种技巧吧,
不建议这种非正当用法

Davies

在06-1-8,黑沙 <fred.li.1979.m.bj.prc at gmail.com> 写道:
>
> 还有一个用途是可以返回多个结果给调用者
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>


--
Davies Liu
My Blog: http://blog.daviesliu.net/
My MSN: davies616 at msn.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060109/5f588935/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年01月10日 星期二 10:32

Leo Jay python.leojay at gmail.com
Tue Jan 10 10:32:54 HKT 2006

On 1/9/06, Davies Liu <davies.liu at gmail.com> wrote:
> 返回多个结果用不着使用这种技巧吧,
> 不建议这种非正当用法
>

嗯,严重同意。

try...except就是用来处理异常的,用来表示不同结果的话,还是用返回值吧。

代码不仅仅是写给自己看的,以后别人看的时候就累了。

--
Best Regards,
Leo Jay

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年01月10日 星期二 11:17

Eddy Xu eddyxu at 126.com
Tue Jan 10 11:17:08 HKT 2006

处理错误的时候最好都用这个, 还有一个就是在你实现的单元能捕捉到错误,但是
并无法判断错误如何处理,要提交给调用者。
Davies Liu wrote:
> 返回多个结果用不着使用这种技巧吧,
> 不建议这种非正当用法
>
> Davies
>
> 在06-1-8,*黑沙* <fred.li.1979.m.bj.prc at gmail.com
> fred.li.1979.m.bj.prc at gmail.com>> 写道:
>
>     还有一个用途是可以返回多个结果给调用者
>     _______________________________________________
>     python-chinese
>     Post: send python-chinese at lists.python.cn
>     python-chinese at lists.python.cn>
>     Subscribe: send subscribe to
>     python-chinese-request at lists.python.cn
>     python-chinese-request at lists.python.cn>
>     Unsubscribe: send unsubscribe to
>     python-chinese-request at lists.python.cn
>     python-chinese-request at lists.python.cn>
>     Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>
>
>
> -- 
> Davies Liu
> My Blog: http://blog.daviesliu.net/
> My MSN: davies616 at msn.com davies616 at msn.com>
> ------------------------------------------------------------------------
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年01月10日 星期二 18:50

tcgy2004 tcgy2004 at tom.com
Tue Jan 10 18:50:00 HKT 2006

非常感谢大家的帮助。看完大家的回复,是不是可以这样理解:
1、使用try...except 的首要目的是保持程序逻辑关系的清晰。
2、当出现异常,而又想终止程序的运行时,使用try...except。在
except中处理异常后,程序继续执行。当遇到不能处理的异常时,将
异常交给解释器处理。
----- Original Message ----- 
From: "Eddy Xu" <eddyxu at 126.com>
To: <python-chinese at lists.python.cn>
Sent: Tuesday, January 10, 2006 11:17 AM
Subject: Re: [python-chinese] try语句在什么情况下使用?


> 处理错误的时候最好都用这个, 还有一个就是在你实现的单元能捕捉到错误,但是
> 并无法判断错误如何处理,要提交给调用者。
> Davies Liu wrote:
> > 返回多个结果用不着使用这种技巧吧,
> > 不建议这种非正当用法
> >
> > Davies
> >
> > 在06-1-8,*黑沙* <fred.li.1979.m.bj.prc at gmail.com
> > fred.li.1979.m.bj.prc at gmail.com>> 写道:
> >
> >     还有一个用途是可以返回多个结果给调用者
> >     _______________________________________________
> >     python-chinese
> >     Post: send python-chinese at lists.python.cn
> >     python-chinese at lists.python.cn>
> >     Subscribe: send subscribe to
> >     python-chinese-request at lists.python.cn
> >     python-chinese-request at lists.python.cn>
> >     Unsubscribe: send unsubscribe to
> >     python-chinese-request at lists.python.cn
> >     python-chinese-request at lists.python.cn>
> >     Detail Info: http://python.cn/mailman/listinfo/python-chinese
> >
> >
> >
> >
> > -- 
> > Davies Liu
> > My Blog: http://blog.daviesliu.net/
> > My MSN: davies616 at msn.com davies616 at msn.com>
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese at lists.python.cn
> > Subscribe: send subscribe to python-chinese-request at lists.python.cn
> > Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> 
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
> 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年01月10日 星期二 19:10

xxmplus xxmplus at gmail.com
Tue Jan 10 19:10:40 HKT 2006

在这里看我们七嘴八舌不如听limodou的,找本书读读

在 06-1-10,tcgy2004<tcgy2004 at tom.com> 写道:
> 非常感谢大家的帮助。看完大家的回复,是不是可以这样理解:
> 1、使用try...except 的首要目的是保持程序逻辑关系的清晰。
> 2、当出现异常,而又想终止程序的运行时,使用try...except。在
> except中处理异常后,程序继续执行。当遇到不能处理的异常时,将
> 异常交给解释器处理。
> ----- Original Message -----
> From: "Eddy Xu" <eddyxu at 126.com>
> To: <python-chinese at lists.python.cn>
> Sent: Tuesday, January 10, 2006 11:17 AM
> Subject: Re: [python-chinese] try语句在什么情况下使用?
>
>
> > 处理错误的时候最好都用这个, 还有一个就是在你实现的单元能捕捉到错误,但是
> > 并无法判断错误如何处理,要提交给调用者。
> > Davies Liu wrote:
> > > 返回多个结果用不着使用这种技巧吧,
> > > 不建议这种非正当用法
> > >
> > > Davies
> > >
> > > 在06-1-8,*黑沙* <fred.li.1979.m.bj.prc at gmail.com
> > > fred.li.1979.m.bj.prc at gmail.com>> 写道:
> > >
> > >     还有一个用途是可以返回多个结果给调用者
> > >     _______________________________________________
> > >     python-chinese
> > >     Post: send python-chinese at lists.python.cn
> > >     python-chinese at lists.python.cn>
> > >     Subscribe: send subscribe to
> > >     python-chinese-request at lists.python.cn
> > >     python-chinese-request at lists.python.cn>
> > >     Unsubscribe: send unsubscribe to
> > >     python-chinese-request at lists.python.cn
> > >     python-chinese-request at lists.python.cn>
> > >     Detail Info: http://python.cn/mailman/listinfo/python-chinese
> > >
> > >
> > >
> > >
> > > --
> > > Davies Liu
> > > My Blog: http://blog.daviesliu.net/
> > > My MSN: davies616 at msn.com davies616 at msn.com>
> > > ------------------------------------------------------------------------
> > >
> > > _______________________________________________
> > > python-chinese
> > > Post: send python-chinese at lists.python.cn
> > > Subscribe: send subscribe to python-chinese-request at lists.python.cn
> > > Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> > > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> >
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese at lists.python.cn
> > Subscribe: send subscribe to python-chinese-request at lists.python.cn
> > Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> >
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年01月10日 星期二 19:44

limodou limodou at gmail.com
Tue Jan 10 19:44:11 HKT 2006

在 06-1-10,tcgy2004<tcgy2004 at tom.com> 写道:
> 非常感谢大家的帮助。看完大家的回复,是不是可以这样理解:
> 1、使用try...except 的首要目的是保持程序逻辑关系的清晰。

可以认为异常产生可能有两种情况:

1. 无法预计的错误,比如在网络,I/O操作时很有可能会出现错误,而这种错误是无预先估计的,是由程序的外部引起的。
2. 主动引发的异常,用于程序处理时警告调用者有问题。

由于异常的处理方式是:当前的过程栈没有处理的话,直接跳入到调用者,如果还没有处理再向上一层跳,直到被处理。如果一直没有处理,则可能造成程序退出。因此对于异常最常见的用法就是一种保护机制,为了使程序可以继承运行下去。当然还有的使用异常做一些特殊处理。比如以前讨论过,如果正确转化字符串为整数,其中就可以通过有没有产生异常来保证一个字符串可以正确转化为整数。还有许多这样的用法。

因此好象不太象你所说的保持程序逻辑关系。用法很多。简单地说就是一种对待出错的处理手断。这是相比于冗长的判断每个函数的返回值的方便作法。

> 2、当出现异常,而又想终止程序的运行时,使用try...except。在
> except中处理异常后,程序继续执行。当遇到不能处理的异常时,将
> 异常交给解释器处理。

出现异常,一般不处理,程序自动就退出了。但象GUI如果已经进入了事件循环,一般不会退出。比较好的方式是记日志。直接交给解释器是没有什么用的。记录下来进行分析,修改程序才有用。

--
I like python!
My Blog: http://www.donews.net/limodou
NewEdit Maillist: http://groups.google.com/group/NewEdit

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号