Python3:如何在方法头中定义异常?

时间:2016-11-03 09:13:34

标签: python python-3.x exception ide documentation

昨天,我找到了一种方法来模拟python 3中的类型安全性(可能在python 2中)。例如,通过编写以下内容:

package ie.lyit.bank;

public abstract class Account
{
    protected Name name;        // COMPOSITION - Account HAS-A name (object of class Name)
    protected String address;   
    protected double balance;
    protected Date dateOpened;  // COMPOSITION - Account HAS-A dateOpened (object of class Date)
    protected int accountNo;

    private static int nextUniqueNumber = 1;    // Next available unique Account number 

    // Default Constructor - set Instance Variables to null
    public Account()
    {
        name = new Name();      
        address= new String();  // OR address = ""; OR address = null;
        balance = 0.0;      
        dateOpened = new Date();
        // Set accountNo to static nextUniqueNumber & increment it for next accountNo
        accountNo = nextUniqueNumber++; 
    }

    // Current class with read() method
    // Read method to read in the account details from the user

    public void read()
    {
        Scanner keyboardIn = new Scanner(System.in);        
        System.out.println("ENTER ACCOUNT DETAILS ==>");
        System.out.print("ACCOUNT NAME : ");
        name = keyboardIn.nextLine();
        System.out.print("ACCOUNT ADDRESS : ");
        address = keyboardIn.nextLine();
        System.out.print("ACCOUNT BALANCE : ");
        balance = keyboardIn.nextDouble();
        System.out.print("ACCOUNT DATE OPENED : ");
        dateOpened = keyboardIn.nextInt();
    }
}

如果要设置一个不具有预期类型的​​参数(给出一个你期望整数的字符串),你可以告诉你的IDE通知你。 Python本身忽略了它们,这对我来说完全没问题。

但是,现在我想为它提供在此过程中可能抛出的异常。我怎样才能做到这一点?不幸的是,我甚至不知道该搜索什么。有人可以帮我吗?我希望我的IDE(PyCharm)提醒我,在某些情况下,我正在使用的函数可能抛出一个异常,将它包装在try-except语句中是一个不错的主意。

我只谈论自己编写的方法,而不是外部代码,仅用于文档。不幸的是reStructuredText或epytext会记录这个,但是没有帮助IDE-checks = Y

提前致谢 肯尼斯

1 个答案:

答案 0 :(得分:2)

这似乎不受支持。添加了类型提示PEP484的提案说this about exceptions

  

没有提出列出明确引发的异常的语法。目前,此功能的唯一已知用例是documentational,在这种情况下,建议将此信息放在docstring中。