昨天,我找到了一种方法来模拟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
提前致谢 肯尼斯
答案 0 :(得分:2)
这似乎不受支持。添加了类型提示PEP484的提案说this about exceptions:
没有提出列出明确引发的异常的语法。目前,此功能的唯一已知用例是documentational,在这种情况下,建议将此信息放在docstring中。